安装gitlab
搜索镜像
docker search gitlab
###下载镜像
这里下载的是gitlab社区版
docker pull gitlab/gitlab-ce
下载需要一段时间
下载成功
创建挂载目录
因为容器的数据是不能持久化保存的。所以我们需要用 docker volume 的方式将存储的数据映射到操作系统的目录中来。这样就算运行的容器崩溃,我们重新启动一个新的容器,原来容器中的数据还是不会丢失
创建目录
进入到data目录下
cd data
执行以下命令
mkdir gitlab
mkdir gitlab/config
mkdir gitlab/data
mkdir gitlab/logs
启动容器
sudo docker run \
-d \
--name gitlab --restart always -p 8888:8888 \
-v /data/gitlab/config:/etc/gitlab \
-v /data/gitlab/logs:/var/log/gitlab \
-v data/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
启动需要几分钟的时间,可以使用 docker ps查看状态
docker ps
starting为正在启动状态中。
如果长时间未启动或者挂掉查看以下启动日志
docker logs --tail=1000 -f gitlab
问题系统时间与网络时间不同步
查看系统时间
date
同步网络时间
ntpdate cn.pool.ntp.org
同步系统实际和硬件时间
hwclock -w
重新启动
docker restart gitlab
如果还是启动不了,查看日志会说在创建容器时添加执行 -e GITLAB_SKIP_UNMIGRATED_DATA_CHECK=true
docker run -d --name gitlab --restart always -p 8888:8888 -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -e GITLAB_SKIP_UNMIGRATED_DATA_CHECK=true -v /data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
等待2分钟左右执行docker ps -a 查看
启动成功使用IP加端口号浏览器访问
发现访问失败
需要配置固定访问地址
进入配置文件(宿主机路径:/data/gitlab/config/gitlab.rb)
vim /data/gitlab/config/gitlab.rb
填入参数
# 配置http协议所使用的访问地址,不加端口号默认为80
#也可以配置成域名
external_url 'http://192.168.2.101:8888'
# 配置ssh协议所使用的访问地址和端口
#也可以配置成域名
gitlab_rails['gitlab_ssh_host'] = '192.168.2.101'
gitlab_rails['gitlab_shell_ssh_port'] = 8888
# 此端口是run时8888端口映射的8888端口
:wq #保存配置文件并退出
修改gitlab.rb文件后重启
docker restart gitlab
登录Gitlab
打开浏览器输入ip地址(如果gitlab端口为80,浏览器url不用输入端口号,如果端口号不是80,则打开为:ip:端口号,若果是域名也可以使用域名)
使用root用户登录
初始密码在
cat /data/gitlab/config/initial_root_password
登录成功后修改初始密码
至此完成对docker搭建gitlab流程就可以创建项目了