docker升级时遇到的一些小问题
今天心血来潮把自己的docker升级了一下,记录一下过程!
我的系统是centOS7,docker版本为1.9.1。我尝试yum -y update升级了系统,docker自动升级到了1.10.3版本,当我高高兴兴地以为升级成功,重启docker,发现docker启动不起来了!
查看/var/log/message看到如下信息:
可以看到docker storage与docker container engine都报错。
注:docker在现在的版本中会默认使用lvm的逻辑卷vg来当作它的存储方式,这里我的系统中没有配置LVM,所以找不到VG,这时它会直接应用本地文件系统当作存储,这里报错不影响。
但是如下报错却一直找不到解决方案,我查看了我的配置/etc/sysconfig/docker,发现我的配置如下:
1
|
OPTIONS= '--selinux-enabled -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store=zk://192.168.1.218:2181,192.168.1.220:2181,192.168.1.207:2181/store --cluster-advertise=192.168.1.120:2375'
|
我在启动文件中配置了zookeeper存储,定义了docker的端口等。
当我把配置清空,发现docker启动正常,所以我在想是否是因为我的配置出现问题。但是一添加定义端口的相关配置,docker就启动不起来了。
这时我想到了直接修改启动脚本的方式,把/etc/sysconfig/docker中的启动项直接写到docker的系统启动脚步中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#vim /usr/lib/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=http: //docs .docker.com
After=network.target Wants=docker-storage-setup.service [Service] Type=notify NotifyAccess=all EnvironmentFile=- /etc/sysconfig/docker
EnvironmentFile=- /etc/sysconfig/docker-storage
EnvironmentFile=- /etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash ExecStart= /bin/sh -c ' /usr/bin/docker-current daemon \
-- exec -opt native.cgroupdriver=systemd \
-H tcp: //0 .0.0.0:2375 -H unix: ///var/run/docker .sock --cluster-store=zk: //192 .168.1.218:2181,192.168.1.220:2181,192.168.1.207:2181 /store --cluster-advertise=192.168.1.121:2375 \
$OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$ADD_REGISTRY \
$BLOCK_REGISTRY \
$INSECURE_REGISTRY \
2>&1 | /usr/bin/forward-journald -tag docker'
LimitNOFILE=1048576 LimitNPROC=1048576 LimitCORE=infinity TimeoutStartSec=0 MountFlags=slave Restart=on-abnormal StandardOutput=null StandardError=null [Install] WantedBy=multi-user.target |
重新启动docker,发现docker启动成功!!
查看docker进程,如下:
可以发现OPTIONS中配置的选项似乎没有加载进启动程序,不知道这是1.10版本的新特性还是什么?从启动脚本中也可以看到1.10版本中,docker的启动命令也变成了docker-current,这也是与旧版本docker有一个很大的不同。
是不是/etc/sysconfig/docker文件以后就失去作用了呢?希望有大神回答!
本文转自 icenycmh 51CTO博客,原文链接:http://blog.51cto.com/icenycmh/1829109,如需转载请自行联系原作者