最近项目的版本控制尝试使用 GIT ,并搭建了gitlab服务器,由于管理代码。并尝试使用gitlib的 CI/CD功能,实现项目的持续迭代部署。

在经历了痛苦的摸索尝试之后,终于能成功的编译部署项目。

但是在某次 网络管理员进行服务器网络维护时,把docker0的网络配置删除了。

导致使用gitlab-ci自动编译代码时报以下错误!

fatal: unable to access 'http://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@172.16.0.26/ihsp/unicorn-common.git/': Failed to connect to 172.16.0.26 port 80: Host is unreachable

Running with gitlab-ci-multi-runner 9.5.1 (96b34cc)
  on basicSC-pojo (1bb42af4)
Using Docker executor with image maven:3.5.3-jdk-8 ...
Using docker image sha256:92a89eeed32e806c4fbc21a7971a5d8f6a04936de1d8e7f3f68a1390f813febf for predefined container...
Pulling docker image maven:3.5.3-jdk-8 ...
Using docker image maven:3.5.3-jdk-8 ID=sha256:878388a112cc040e350e848dd39bf1cabc09653adb7ede6f050cbd16a7503de6 for build container...
Running on runner-1bb42af4-project-4-concurrent-0 via localhost.localdomain...
Cloning repository...
Cloning into '/builds/ihsp/basicSC-pojo'...
fatal: unable to access 'http://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@172.16.0.26/ihsp/basicSC-pojo.git/': Failed to connect to 172.16.0.26 port 80: Host is unreachable
ERROR: Job failed: exit code 1

 

由于对于linux 和gitlab-ci 肤浅了解,一直不知道是什么原因造成的。

先是重装了 gitlab-ci-multi-runner ,未能解决问题。

然后陷入思考,在详细查看错误之后,意识到这个错误是由于 docker 容器无法访问宿主主机导致的。

docker容器与宿主主机是默认是通过 docker0 网桥联通的。

于是重新配置docker0网桥

配置桥接网络

停止docker服务
systemctl stop docker
关闭docker0桥接网卡
ip link set dev docker0 down

设置桥接网络ip
ip addr add 172.16.0.199/24 dev docker0
启动docker0网卡
ip link set dev docker0 up

启动docker服务
systemctl start docker

重新运行自动部署成功!问题解决!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐