1. 搜索镜像
docker search gitlab
2. 拉取镜像
docker pull docker.io/gitlab/gitlab-ce
查看镜像docker images
3. 创建挂载目录
mkdir -p /home/gitlab/config
mkdir -p /home/gitlab/log
mkdir -p /home/gitlab/opt
mkdir -p /home/gitlab/data
4. 创建容器
docker run -d --hostname gitlab -p 8443:443 -p 8880:80 -p 8822:22 -p 8890:9090 --name gitlaba --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/log:/var/log/gitlab -v /home/gitlab/opt:/var/opt/gitlab gitlab/gitlab-ce:latest
- --hostname gitlab # 指定容器域名,未知功能:创建镜像仓库的时候使用到
- -p 8443:443 # 将容器内443端口映射到主机8443,提供https服务
- -p 8880:80 # 将容器内80端口映射到主机8880,提供http服务
- -p 8822:22 # 将容器内22端口映射到主机8822,提供ssh服务
- -p 8890:9090 # 将容器内9090端口映射到主机8890,提供prometheus服务
- --restart always # 容器退出时,自动重启
- -v /home/gitlab/config:/etc/gitlab # 将本地/home/gitlab/config挂载到容器内/etc/gitlab
- -v /home/gitlab/log:/var/log/gitlab # 将本地/home/gitlab/log挂载到容器内/var/log/gitlab
- -v /home/gitlab/opt:/var/opt/gitlab # 将本地/home/gitlab/opt挂载到容器内/var/opt/gitlab
5.查看Gitlab容器运行情况
docker inspect gitlaba --format "{{.State.Status}}"
6. 进入容器
docker exec -i -t gitlaba /bin/bash
7. 查看日志
docker logs -f -t --since="2019-01-24" --tail=100 gitlaba
8. 复制gitlab配置文件
*查看容器Id全程 docker inspect -f '{{.Id}}' gitlaba *
docker cp /home/gitlab/config/gitlab.rb 859a26f61c5bbc22513051fa7a24d4010446725ece7fba18a1a349e82296665b:/etc/gitlab/gitlab.rb
9. 防火墙
添加(--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=8443/tcp --permanent
firewall-cmd --zone=public --add-port=8880/tcp --permanent
firewall-cmd --zone=public --add-port=8822/tcp --permanent
firewall-cmd --zone=public --add-port=8890/tcp --permanent
#重新载入
firewall-cmd --reload
#查看
firewall-cmd --list-ports
10. 配置web请求
vim /home/gitlab/config/gitlab.rb
==更改 external_url 'http://www.aaa.com'
==更改 gitlab_rails['gitlab_shell_ssh_port'] = 8822
==更改 gitlab_rails['gitlab_shell_git_timeout'] = 3800
11. 配置重载
docker exec -t gitlaba gitlab-ctl reconfigure
docker exec -t gitlaba gitlab-ctl restart
12. Git连接测试
ssh -T git@www.aaa.com
root/password
网友评论