Docker下gitlab搭建 实操步骤

首先确保当前服务器安装了docker,并已配置镜像加速,配置方法如下

        配置docker镜像加速 centos

        vim /etc/docker/daemon.json (如果文件不存在请新建该文件)加入下面内容

        {"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]}

        之后重新启动服务:

        $ sudo systemctl daemon-reload

        $ sudo systemctl restart docker

可以用命令 docker version 查看docker版本

Docker下gitlab搭建 实操步骤

 接下来拉取gitlab社区版

        docker pull beginor/gitlab-ce:11.0.1-ce.0

执行后可能出现如下问题

Docker下gitlab搭建 实操步骤

执行如下命令        

1

2

echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://f2d6cb40.m.daocloud.io\"" sudo tee -a /etc/default/docker

sudo service docker restart

然后重新拉取 docker pull beginor/gitlab-ce:11.0.1-ce.0

Docker下gitlab搭建 实操步骤

 接下来创建gitlab的配置、日志、数据 文件夹,为方便日后维护,将其创建在容器外

        mkdir -p /mnt/gitlab/etc
 
        mkdir -p /mnt/gitlab/log
 
        mkdir -p /mnt/gitlab/data

Docker下gitlab搭建 实操步骤

 然后切换到/mnt/gitlab/etc目录下,执行以下命令

docker run \
  --detach \
  --publish 8443:443 \
  --publish 8090:80 \
  --name gitlab \
 --restart unless-stopped \
 -v /mnt/gitlab/etc:/etc/gitlab \
 -v /mnt/gitlab/log:/var/log/gitlab \
 -v /mnt/gitlab/data:/var/opt/gitlab \
 beginor/gitlab-ce:11.0.1-ce.0

 如图Docker下gitlab搭建 实操步骤

紧接着修改/mnt/gitlab/etc/gitlab.rb

把external_url改成部署机器的域名或者IP地址

vi /mnt/gitlab/etc/gitlab.rb

将external_url 'http://xxx.xxx.xxx.xxx'

再修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml

vi /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml

找到关键字 * ## Web server settings *

将host的值改成映射的外部主机ip地址和端口

最后重启容器 执行如下代码

docker stop 3f1da6452bd6 

docker rm 3f1da6452bd6 

systemctl restart docker

docker run \
  --detach \
  --publish 8443:443 \
  --publish 8090:80 \
  --name gitlab \
 --restart unless-stopped \
 -v /mnt/gitlab/etc:/etc/gitlab \
 -v /mnt/gitlab/log:/var/log/gitlab \
 -v /mnt/gitlab/data:/var/opt/gitlab \
 beginor/gitlab-ce:11.0.1-ce.0

 

如图

Docker下gitlab搭建 实操步骤 

现在就可以去访问啦 地址为'http://xxx.xxx.xxx.xxx:8090'

打开后需要先设置密码 不要忘记即可,设置完成后登录 

账号:root

密码:zhiyounizijizhidaoa

Docker下gitlab搭建 实操步骤

 好啦,祝贺!

上一篇:ubuntu 18.04 容器部署gitlab


下一篇:对象池技术了解吗?apache common pool2呢?