docker配置overlay儲存模式
阿新 • • 發佈:2019-01-22
之前看到網上的一些資料,採用下面的方法配置使用overlay的儲存模式:
cat > /etc/systemd/system/docker.service.d/override.conf <<EOF
[Service]
...
ExecStart=
ExecStart=/usr/bin/docker daemon --storage-driver=overlay
EOF
但是,重啟docker之後發現,之前在/etc/sysconfig/docker配置檔案中配置的一些引數都沒生效了,發現執行的docker daemon後面的引數只有–storage-driver=overlay。
預設docker daemon的執行命令是在/usr/lib/systemd/system/docker.service配置檔案中定義的:
...
[Service]
Type=notify
NotifyAccess=all
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
ExecStart=/usr/bin/docker-current daemon \
--exec-opt native.cgroupdriver=systemd \
$OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$ADD_REGISTRY \
$BLOCK_REGISTRY \
$INSECURE_REGISTRY
...
而現在docker的執行完全沒有按照這個設定來,分析了下原因,應該是/etc/systemd/system/docker.service.d/這裡面的配置優先於/usr/lib/systemd/system/docker.service生效了。
最終還是覺得這樣配置不太好,嘗試其他的配置方法。試驗後發現其實還有比較簡單的配置方法:
在/etc/sysconfig/docker-storage配置檔案中,在DOCKER_STORAGE_OPTIONS=後面新增-s overlay,然後重啟docker即可。
DOCKER_STORAGE_OPTIONS= -s overlay
這時使用docker info命令檢視,會發現儲存模式已經改為overlay了,並且/etc/sysconfig/docker中的其他配置也生效了。