基于Docker的Gitlab安装及常见问题

Docker安装

  • 查看内核
    uname -r
  • 安装必要的一些系统工具
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  • 添加软件源信息
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 更新并安装Docker-CE
    sudo yum makecache fast
    sudo yum -y install docker-ce
  • 开启Docker服务
    sudo systemctl start docker
  • 开机启动
    sudo systemctl enable docker
  • 查看版本
    docker version
  • 简单测试
    docker run hello-world
  • 几个常用命令
    docker images #查看镜像
    docker ps -a #查看容器运行情况
CONTAINER ID        IMAGE                               COMMAND             CREATED             STATUS                       PORTS                                                               NAMES
388b4f553254        hello-world                         "/hello"            22 minutes ago      Exited (0) 22 minutes ago                                                                        lucid_curran
32df01f93637        docker.io/gitlab/gitlab-ce:latest   "/assets/wrapper"   About an hour ago   Up About an hour (healthy)   0.0.0.0:2200->22/tcp, 0.0.0.0:8000->80/tcp, 0.0.0.0:8443->443/tcp   gitlab
19f95d848d96        hello-world                         "/hello"            18 hours ago        Exited (0) 18 hours ago                                                                          zealous_goldstine

docker stop NAMES/CONTAINER ID #通过NAMES或CONTAINER ID关闭
docker start NAMES/CONTAINER ID #启动
docker rm NAMES/CONTAINER ID #删除
docker logs -f NAMES/CONTAINER ID #查看日志

[root@localhost ~]# docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

Gitlab安装

  • 从Docker下拉gitlab
    docker pull gitlab/gitlab-ce

  • 在本地创建挂载目录
    mkdir /usr/local/gitlab/config
    mkdir /usr/local/gitlab/logs
    mkdir /usr/local/gitlab/data

  • 运行
    *docker run
    –detach
    –publish 8443:443
    –publish 8000:80
    –publish 2200:22 #dockerfile 暴漏了 443、80、22 端口
    –name gitlab
    –restart always #开启自动启动
    –volume /usr/local/gitlab/config:/etc/gitlab #这些配置属性可以从官方 dockerfile 中可以看到
    –volume /usr/local/gitlab/logs:/var/log/gitlab
    –volume /usr/local/gitlab/data:/var/opt/gitlab
    –privileged=true #容器加入权限参数 以特权方式启动容器
    docker.io/gitlab/gitlab-ce:latest

  • 启动后通过8000进入页面
    页面就是如此
    #账号:root
    #初始密码:5iveL!fe
    #然后修改密码,有些版本无需输入初始账号密码,可以直接更改新密码

  • 登录后界面
    在这里插入图片描述

常见问题

  • 无法访问页面
    可能原因防火墙端口没开
    firewall-cmd --list-port #查看已开启端口
    firewall-cmd --add-port=8000/tcp --zone=public --permanent #添加8000端口
    firewall-cmd --reload #重启防火墙
    再次查看端口,成功开启端口如下
[root@localhost ~]# firewall-cmd --list-port
8000/tcp
  • 项目一直启动不起来
    查看日志有以下错误
Installing gitlab.rb config...
cp: cannot create regular file '/etc/gitlab/gitlab.rb': Permission denied

如果在docker run命令中不加权限参数–privileged=true,容器启动失败,这是由于挂载的本地目录在容器中没有执行权限

发布了12 篇原创文章 · 获赞 12 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/StillTogether/article/details/84374699
今日推荐