天天看点

docker升级时遇到的一些小问题

 今天心血来潮把自己的docker升级了一下,记录一下过程!

 我的系统是centOS7,docker版本为1.9.1。我尝试yum -y update升级了系统,docker自动升级到了1.10.3版本,当我高高兴兴地以为升级成功,重启docker,发现docker启动不起来了!

 查看/var/log/message看到如下信息:

 注:docker在现在的版本中会默认使用lvm的逻辑卷vg来当作它的存储方式,这里我的系统中没有配置LVM,所以找不到VG,这时它会直接应用本地文件系统当作存储,这里报错不影响。

 但是如下报错却一直找不到解决方案,我查看了我的配置/etc/sysconfig/docker,发现我的配置如下:

1

<code>OPTIONS=</code><code>'--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'</code>

 我在启动文件中配置了zookeeper存储,定义了docker的端口等。

 当我把配置清空,发现docker启动正常,所以我在想是否是因为我的配置出现问题。但是一添加定义端口的相关配置,docker就启动不起来了。

 这时我想到了直接修改启动脚本的方式,把/etc/sysconfig/docker中的启动项直接写到docker的系统启动脚步中:

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

<code>#vim /usr/lib/systemd/system/docker.service</code>

<code>[Unit]</code>

<code>Description=Docker Application Container Engine</code>

<code>Documentation=http:</code><code>//docs</code><code>.docker.com</code>

<code>After=network.target</code>

<code>Wants=docker-storage-setup.service</code>

<code>[Service]</code>

<code>Type=notify</code>

<code>NotifyAccess=all</code>

<code>EnvironmentFile=-</code><code>/etc/sysconfig/docker</code>

<code>EnvironmentFile=-</code><code>/etc/sysconfig/docker-storage</code>

<code>EnvironmentFile=-</code><code>/etc/sysconfig/docker-network</code>

<code>Environment=GOTRACEBACK=crash</code>

<code>ExecStart=</code><code>/bin/sh</code> <code>-c '</code><code>/usr/bin/docker-current</code> <code>daemon \</code>

<code>          </code><code>--</code><code>exec</code><code>-opt native.cgroupdriver=systemd \</code>

<code>          </code><code>-H tcp:</code><code>//0</code><code>.0.0.0:2375 -H unix:</code><code>///var/run/docker</code><code>.sock --cluster-store=zk:</code><code>//192</code><code>.168.1.218:2181,192.168.1.220:2181,192.168.1.207:2181</code><code>/store</code> <code>--cluster-advertise=192.168.1.121:2375 \</code>

<code>          </code><code>$OPTIONS \</code>

<code>          </code><code>$DOCKER_STORAGE_OPTIONS \</code>

<code>          </code><code>$DOCKER_NETWORK_OPTIONS \</code>

<code>          </code><code>$ADD_REGISTRY \</code>

<code>          </code><code>$BLOCK_REGISTRY \</code>

<code>          </code><code>$INSECURE_REGISTRY \</code>

<code>          </code><code>2&gt;&amp;1 | </code><code>/usr/bin/forward-journald</code> <code>-tag docker'</code>

<code>LimitNOFILE=1048576</code>

<code>LimitNPROC=1048576</code>

<code>LimitCORE=infinity</code>

<code>TimeoutStartSec=0</code>

<code>MountFlags=slave</code>

<code>Restart=on-abnormal</code>

<code>StandardOutput=null</code>

<code>StandardError=null</code>

<code>[Install]</code>

<code>WantedBy=multi-user.target</code>

 重新启动docker,发现docker启动成功!!          

 查看docker进程,如下:

 是不是/etc/sysconfig/docker文件以后就失去作用了呢?希望有大神回答!

本文转自 icenycmh 51CTO博客,原文链接:http://blog.51cto.com/icenycmh/1829109,如需转载请自行联系原作者