1.下gitlab镜像
docker pull beginor/gitlab-ce:11.0.1-ce.0
2.通常会将 GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。
mkdir -p /mnt/gitlab/etc mkdir -p /mnt/gitlab/log mkdir -p /mnt/gitlab/data
3.启动gitlab容器
docker run -d -p 8443:443 -p 8490:80 --name gitlab --restart=always -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
4.启动报错docker: invalid restart policy unless-stopped.
原来这台服务器的docker版本较老,而unless-stopped这个是在1.9.0版本才加入的,所以对于旧版的docker环境需要改成always docker支持如下restart策略: no – 容器退出时不要自动重启。这个是默认值。 on-failure[:max-retries] – 只在容器以非0状态码退出时重启。可选的,可以退出docker daemon尝试重启容器的次数。 always – 不管退出状态码是什么始终重启容器。当指定always时,docker daemon将无限次数地重启容器。容器也会在daemon启动时尝试重启,不管容器当时的状态如何。 unless-stopped – 不管退出状态码是什么始终重启容器,不过当daemon启动时,如果容器之前已经为停止状态,不要尝试启动它。
5.配置GitLab主机名
把external_url改成部署机器的域名或者IP地址
5.1.修改/mnt/gitlab/etc/gitlab.rb
vim /mnt/gitlab/etc/gitlab.rb # external_url 'GENERATED_EXTERNAL_URL' external_url 'http://192.168.107.216' # 部署服务的ip
5.2修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
vim /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml gitlab: #将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址 host: 192.168.107.216 port: 8490 https: false
5.3.修改Gitlab数据存储路径(这里不做)
vim /mnt/gitlab/etc/gitlab.rb git_data_dirs({ "default" => { "path" => "/data/gitlabData" } })
6.配置并启动GitLab
因为是容器,所以要进入到gitlab容器中执行命令 docker exec -ti gitlab /bin/bash gitlab-ctl reconfigure # 重新应用gitlab的配置 gitlab-ctl restart # 重启gitlab服务 gitlab-ctl status # 查看gitlab运行状态
7.登陆
打开浏览器,输入本机的ip地址并登陆 http://192.168.107.216:8490 # 默认帐户的用户名是root,第一次访问时,将被重定向到密码重置屏幕,登录后,您可以更改用户名。
8.常用的几个Gitlab命令
# 重新应用gitlab的配置 gitlab-ctl reconfigure # 重启gitlab服务 gitlab-ctl restart # 查看gitlab运行状态 gitlab-ctl status #停止gitlab服务 gitlab-ctl stop # 查看gitlab运行日志 gitlab-ctl tail # 停止相关数据连接服务 gitlab-ctl stop unicorn gitlab-ctl stop sideki