docker安装gitlab

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 [email protected]
root/password

你可能感兴趣的:(docker安装gitlab)