2017-05-04 191 views
0

我想要docker啓動systemd cgroup驅動程序。出於某種原因,它只在我的centos 7服務器上使用cgroupfs。docker更改cgroup驅動程序到systemd

這裏是啓動配置文件。

# systemctl cat docker 
# /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 
Requires=docker-cleanup.timer 

[Service] 
Type=notify 
NotifyAccess=all 
EnvironmentFile=-/etc/sysconfig/docker 
EnvironmentFile=-/etc/sysconfig/docker-storage 
EnvironmentFile=-/etc/sysconfig/docker-network 
Environment=GOTRACEBACK=crash 
Environment=DOCKER_HTTP_HOST_COMPAT=1 
Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin 
ExecStart=/usr/bin/dockerd-current \ 
      --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \ 
      --default-runtime=docker-runc \ 
      --exec-opt native.cgroupdriver=systemd \ 
      --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \ 
      $OPTIONS \ 
      $DOCKER_STORAGE_OPTIONS \ 
      $DOCKER_NETWORK_OPTIONS \ 
      $ADD_REGISTRY \ 
      $BLOCK_REGISTRY \ 
      $INSECURE_REGISTRY 
ExecReload=/bin/kill -s HUP $MAINPID 
LimitNOFILE=1048576 
LimitNPROC=1048576 
LimitCORE=infinity 
TimeoutStartSec=0 
Restart=on-abnormal 
MountFlags=slave 

[Install] 
WantedBy=multi-user.target 

# /etc/systemd/system/docker.service.d/docker-thinpool.conf 
[Service] 
ExecStart= 
ExecStart=/usr/bin/dockerd --storage-driver=devicemapper --storage-opt=dm.thinpooldev=/dev/mapper/docker-thinpool \ 
--storage-opt=dm.use_deferred_removal=true --storage-opt=dm.use_deferred_deletion=true 
EOF 

當碼頭工人開始運行是這樣的:

# ps -fed |grep docker 
root  8436  1 0 19:13 ?  00:00:00 /usr/bin/dockerd-current --storage-driver=devicemapper --storage-opt=dm.thinpooldev=/dev/mapper/docker-thinpool --storage-opt=dm.use_deferred_removal=true --storage-opt=dm.use_deferred_deletion=true 
root  8439 8436 0 19:13 ?  00:00:00 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime docker-runc 

這裏是碼頭工人的信息輸出

docker info 
Containers: 0 
Running: 0 
Paused: 0 
Stopped: 0 
Images: 1 
Server Version: 1.12.6 
Storage Driver: devicemapper 
Pool Name: docker-thinpool 
Pool Blocksize: 524.3 kB 
Base Device Size: 10.74 GB 
Backing Filesystem: xfs 
Data file: 
Metadata file: 
Data Space Used: 185.6 MB 
Data Space Total: 1.015 GB 
Data Space Available: 829.4 MB 
Metadata Space Used: 77.82 kB 
Metadata Space Total: 8.389 MB 
Metadata Space Available: 8.311 MB 
Thin Pool Minimum Free Space: 101.2 MB 
Udev Sync Supported: true 
Deferred Removal Enabled: true 
Deferred Deletion Enabled: true 
Deferred Deleted Device Count: 0 
Library Version: 1.02.135-RHEL7 (2016-11-16) 
Logging Driver: json-file 
Cgroup Driver: cgroupfs 
Plugins: 
Volume: local 
Network: null bridge overlay host 
Swarm: inactive 
Runtimes: runc 
Default Runtime: runc 
Security Options: seccomp 
Kernel Version: 3.10.0-514.16.1.el7.x86_64 
Operating System: CentOS Linux 7 (Core) 
OSType: linux 
Architecture: x86_64 
Number of Docker Hooks: 2 
CPUs: 1 
Total Memory: 992.7 MiB 
Name: master 
ID: 6CFR:H7SN:MEU7:PNJH:UMSO:6MNE:43Q5:SF4K:Z25I:BKHP:53U4:63SO 
Docker Root Dir: /var/lib/docker 
Debug Mode (client): false 
Debug Mode (server): false 
Registry: https://index.docker.io/v1/ 
Insecure Registries: 
127.0.0.0/8 
Registries: docker.io (secure) 

我怎樣才能使其與systemd運行?

感謝 SR

回答

4

因爲我有兩個配置文件,我需要添加在第二個配置文件也進入 - /etc/systemd/system/docker.service.d/docker-thinpool.conf

--exec-opt native.cgroupdriver=systemd \ 
0

嘗試重新啓動搬運工服務:

systemctl daemon-reload 
systemctl restart docker.service 
相關問題