网站首页 文章专栏 记一次升级docker时,遇到的火星问题
闲来无聊,想把公司开发环境的docker 升级下版本,之前一直用的1.8,现在都到docker17了。
uname -a
Linux development 3.13.0-119-generic #166-Ubuntu SMP Wed May 3 12:18:55 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
内核不低,想着apt-get update ,apt-get install docker.io 就可以了
谁知,不但没有升级反而降到1.6了,你没看错,是降级了,我操了!
并且 好多容器没有启动起来,
vi /var/log/update/docker.log
看到说什么没有default 网络 ,所以其它容器没启动成功。百度一下,说1.8开始才开始支持default 网络
我就不明白 了,你妹的,我就想简简单单升级下docker,有这么难吗?
此法不通,就问度娘,有不少教程 ,但试下来三四个,都不行,其中有一个,最TMD的蛋疼,
装的docker-engine
好不容易按的教程做下来,重启docker
docker ps
没反应,好像卡到那了
继续查看日志,一直在打印在校验数据。想着使用的时间长一有好多数据层,要校验,就等吧,开发人员也在问我了,什么时候 好,我回答:很快!
后悔,我这么轻浮地回答同事这么认真的问题,一个小时过去了,终于好了!
容器是都启动了,我看容器绑定本机的端口都通着,但docker ps .... 发现docker 不好使了。报什么错误,因没有截图,没办法记录了。
只好,虽寻他法了,灵光一现,看官网教程https://docs.docker.com/engine/installation/linux/ubuntu/
不一看不知道 ,一看吓一跳,现在都有docker-ce, 和 docker-ee,这两兄弟是个什么产物
查阅资料感觉docker-ce 是我的菜。OK! 开始修练
按着官方教程走下来,发现docker 命令还是不好使,查看日志说什么有一个image tag 不合法,我又.....,但我docker images 查看下,并没它说的那个镜像tag,
docker ps 报错
docker ps -n 30 OK 正常,但docker ps -n 31 不行,说明第31个容器用着它说的那个不合法镜像 ,这我不知道容器id 和名字怎么删除或解决。
看docker 目录吧,
cd /var/lib/docker/containers/ #该目录下面就是每个容器对应一个目录
grep -nr imagetag ./*
找个那个目录,记下目录名
docker rm 目录名(容器id)
service docker restart
整个世界清静了好多,这时升级用时3个半小时。