码迷,mamicode.com
首页 > 其他好文 > 详细

Centos7-Docker 安装 Gitlab详细篇

时间:2019-07-07 09:55:24      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:日志   contain   details   还需   starting   需要   wait   技术   docker 安装   

官方教程 
https://docs.gitlab.com/omnibus/docker/

 

建议虚拟机内存2G以上

1.下载镜像文件

docker pull beginor/gitlab-ce:11.0.1-ce.0

 


注意:一定要配置阿里云的加速镜像
 

  1. 创建GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。
mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data

 

运行GitLab容器 

docker run     --detach     --publish 8443:443     --publish 8090:80     --name gitlab     --restart unless-stopped     -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 

停止docker容器,并且删除

docker stop 容器id
docker rm 容器id
systemctl stop firewalld

 将挂载文件同步到容器外面

[root@localhost ~]# docker run >     --detach nor/gitlab-ce:11.0.1-ce.0
>     --publish 8443:443 >     --publish 8090:80 >     --name gitlab >     --restart unless-stopped >     -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

7079a63817279290899e21046f75d64a1e636087afbd510545212a242bef62b4
docker: Error response from daemon: driver failed programming external connectivity on endpoint gitlab 
(0e14a81954fa738bcf42b5f67bd3c2ad4f11413f9cd28ec58efb98a9a8414ae4):
(iptables failed: iptables
--wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8443 -j DNAT --to-destination
172.17.0.3:443 ! -i docker0: iptables: No chain/target/match by that name.

直接运行会报一个错误,报错我们先把容器停掉,然后删除

[root@localhost ~]# docker stop 7079a63817279290899e21046f75d64a1e636087afbd510545212a242bef62b4
7079a63817279290899e21046f75d64a1e636087afbd510545212a242bef62b4
[root@localhost ~]# docker rm 7079a63817279290899e21046f75d64a1e636087afbd510545212a242bef62b4
7079a63817279290899e21046f75d64a1e636087afbd510545212a242bef62b4

这样就已经删除成功了,然后我们再来看一看之前报错的问题,谷歌一下

将这段拿出来搜索一下,全部搜索肯定不行

Error response from daemon: 
driver failed programming external connectivity on endpoint gitlab
No chain/target/match by that name.

技术图片

最总找到了这篇文章

https://blog.csdn.net/qq_42114918/article/details/81840335

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker.service

 

我猜测应该daemon的问题,我们再来试一下

[root@localhost ~]# docker run >     --detach >     --publish 8443:443 >     --publish 8090:80 >     --name gitlab >     --restart unless-stopped >     -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
3f3d49ac7888aaf51d51761c27f92e4bf1b465f76b1a58f3428637b9c3ffd9b7
[root@localhost ~]#

 

这次没有报错了,直接就成功了。

这个时候我们进到目录再看一下挂载文件是否同步到外面来了

[root@localhost ~]# cd /mnt/gitlab/etc/
[root@localhost etc]# ls
gitlab.rb            ssh_host_ecdsa_key      ssh_host_ed25519_key      ssh_host_rsa_key      trusted-certs
gitlab-secrets.json  ssh_host_ecdsa_key.pub  ssh_host_ed25519_key.pub  ssh_host_rsa_key.pub

修改/mnt/gitlab/etc/gitlab.rb

把external_url改成部署机器的域名或者IP地址

 

vi /mnt/gitlab/etc/gitlab.rb

 external_url ‘http://192.168.56.3‘

技术图片

 

按 i 进行编辑,编辑好了按Esc,:wq 进行保存

修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml

vi /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml

找到关键字 * ## Web server settings *

按斜杠进行搜索

/Web server settings

技术图片

 

这个时候我们把容器停止再删除,然后重启服务

[root@localhost ~]# docker stop 3f3d49ac7888aaf51d51761c27f92e4bf1b465f76b1a58f3428637b9c3ffd9b7
3f3d49ac7888aaf51d51761c27f92e4bf1b465f76b1a58f3428637b9c3ffd9b7
[root@localhost ~]# docker rm 3f3d49ac7888aaf51d51761c27f92e4bf1b465f76b1a58f3428637b9c3ffd9b7
3f3d49ac7888aaf51d51761c27f92e4bf1b465f76b1a58f3428637b9c3ffd9b7
[root@localhost ~]# systemctl restart docker
[root@localhost ~]#

再来重新创建容器

[root@localhost ~]# docker run >     --detach >     --publish 8443:443 >     --publish 8090:80 >     --name gitlab >     --restart unless-stopped >     -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
d07898b3749d72870eed634a8ce9d371c981a5b962596fff76d59fc3e8c164d6
[root@localhost ~]#

 

这个时候我们来查一下,看一下容器有没有分配ip地址,有的话表示创建容器成功了。

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE                           COMMAND                  CREATED              STATUS              PORTS                                                 NAMES
d07898b3749d        beginor/gitlab-ce:11.0.1-ce.0   "/assets/wrapper"        About a minute ago   Up Less than a second (health: starting)   22/tcp, 0.0.0.0:8090->80/tcp, 0.0.0.0:8443->443/tcp   gitlab
f264e5f1be41        sonatype/nexus3                 "sh -c ${SONATYPE_DI…"   2 hours ago          Up 2 hours              0.0.0.0:8081->8081/tcp                                nexus
[root@localhost ~]# docker inspect d07898b3749d

 

技术图片

 

访问一下ip地址

[root@localhost ~]# curl 172.17.0.3:80
curl: (7) Failed connect to 172.17.0.3:80; Connection refused

拒绝连接,说明启动没有那么快,还需要一些时间

关闭防火墙,查看下状态,这个时候防火墙已经关闭了。

[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# firewall-cmd --state
not running
[root@localhost ~]#

 

报502是正常的,不用担心

 

Centos7-Docker 安装 Gitlab详细篇

标签:日志   contain   details   还需   starting   需要   wait   技术   docker 安装   

原文地址:https://www.cnblogs.com/reasonzzy/p/11145026.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!