Gitlab 是一款广受好评的 GIT 项目管理平台,其中 Gitlab-CE 为免费版本,下面介绍如何通过 Docker 实现 Gitlab 服务部署。
1. 目录创建
老规矩第一步还是先创建数据目录用于文件映射。
mkdir -p /usr/local/dockerdata/gitlab/config
mkdir -p /usr/local/dockerdata/gitlab/data
mkdir -p /usr/local/dockerdata/gitlab/logs
2. 服务启动
完成目录创建后通过到下述命令启动 Gitlab 服务,其中端口映射服务可根据自身情况调整。
docker run -d \
--name gitlab \
--restart always \
--privileged=true \
-p 8080:80 \
-p 8081:443 \
-p 8082:22 \
-v /etc/localtime:/etc/localtime:ro \
-v /usr/local/dockerdata/gitlab/config:/etc/gitlab \
-v /usr/local/dockerdata/gitlab/logs:/var/log/gitlab \
-v /usr/local/dockerdata/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
3. 配置修改
启动容器后进入会 Gitlab 映射的文件目录中编辑配置信息。
vi /usr/local/dockerdata/gitlab/config/gitlab.rb
修改文件中的下述内容,将 192.168.0.20 替换为你的服务器 IP。
完成后保存退出,并通过 docker restart gitlab 重启服务使其生效。
external_url 'http://192.168.0.20'
gitlab_rails['gitlab_ssh_host'] = '192.168.0.20'
# 配置 22 端口映射的值
gitlab_rails['gitlab_shell_ssh_port'] = 8082
gitlab_rails['time_zone'] = 'Asia/Shanghai'
4. 端口修改
完成上述步骤后进入 Gitlab 容器内,配置服务对应的端口信息。
docker exec -it gitlab bash
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
修改配置文件的 port 值,将其改成之前启动容器时 80 端口映射的值。
完成后同样在容器中通过 gitlab-ctl restart 重启服务。
production: &base
gitlab:
# 替换为 80 端口映射的值
port: 8080
5. 用户账号
完成上述配置之后即可浏览器访问 IP:8080,默认用户名为 root,密码通过下述命令查看:
docker exec -it <container_id> grep 'Password:' /etc/gitlab/initial_root_password