docker 启动image导致bridge挂掉的解决过程
问题表述
docker上跑着gitlab,gitlab启动的时候会将bridge docker0干掉,导致本机与docker 容器无法进行通讯。
尝试过程
- 手动添加bridge
查看docker network的配置docker0是有配置的,结果如下图。
docker network inspect bridge
便手动添加bridge,指令如下
brctl addbr docker0
ip addr add 172.17.0.1/16 dev docker0
ip link set dev docker0 up
这时候去ping gitlab这个容器是可以通的。但是还是无法访问gitlab的服务,重启gitlab并没有效果。重启指令如下。
sudo docker exec -it gitlab /bin/bash
gitlab-ctl restart
由于没有效果就想着把gitlab 的容器重启了吧。没想到重启有把docker0给干掉了。重启方式如下。
sudo docker stop gitlab
sudo docker rm gitlab
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 6000:22 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
--shm-size 256m \
gitlab/gitlab-ee:latest
最后将Ubuntu重启就莫名其妙的好了。。。。就当复习一下指令吧。