- 拉取镜像
docker pull gitlab/gitlab-ce
- 创建GitLab配置目录
mkdir -p /opt/gitlab/etc
mkdir -p /opt/gitlab/log
mkdir -p /opt/gitlab/data
- 创建、启动容器
docker run -d --hostname xxx.com --name='gitlab' -p 222:22 -p 8081:80 --restart always --volume /opt/gitlab/config:/etc/gitlab --volume /opt/gitlab/logs:/var/log/gitlab --volume /opt/gitlab/data:/var/opt/gitlab/ gitlab/gitlab-ce:latest
- 查看容器是否启动
docker ps -a
- 修改配置文件
vi /opt/gitlab/etc/gitlab.rb
external_url 'http://10.211.55.4' 或者 'http://xxx.com'
gitlab_rails['gitlab_ssh_host'] = 'http://10.211.55.4' 或者 'http://xxx.com'
gitlab_rails['gitlab_shell_ssh_port'] = 222
修改/opt/gitlab/etc/gitlab.rb 把 external_url 改成部署机器的域名或者IP地址
- 重启GitLab容器
docker restart gitlab
docker exec -it gitlab bash (各个系统不一样 有可能zsh)
gitlab-ctl reconfigure
- 配置Nginx使用域名访问
server {
listen 80;
server_name gitlab.xxx.com;
return 301 https://gitlab.xxx.com$request_uri;
}
server {
listen 443 ssl http2;
include https.xxx.params;
server_name gitlab.xxx.com;
client_max_body_size 100m;
location ~ / {
proxy_pass http://127.0.0.1:8081;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
- 浏览器验证
访问https://xxx.com 就可以看到 gitlab 的登录界面了,大功告成!