今天心血來潮把自己的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>&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,如需轉載請自行聯系原作者