LoginSignup
19
14

More than 3 years have passed since last update.

Dockerの設定ファイルはどこ!!

Last updated at Posted at 2019-04-16

デフォルトでdockerの起動時オプションはどこにあるのでしょうか。
Linuxディストロや環境によって、いくつかパターンがあるようです。

CentOS

docker.serviceというファイルがどこかにあるはずです。サービスの構成ファイルをいじれば起動時オプションが変えられます

わたくしの場合

/usr/lib/systemd/system/docker.service

にありました。

ほかにも、次のようなケースがあるようです

/usr/lib/systemd/system/docker.service
/etc/systemd/service/docker.service
/lib/systemd/system/docker.service
/usr/lib/systemd/system/docker.service

あるいはオプション用ファイルがすでにある場合があります

/etc/default/docker

Ubuntu

/etc/init
/etc/init/docker.conf
/etc/init.d/docker
/lib/systemd/system/docker.service

あるいは設定を/etc/docker/daemon.jsonを操作して行う場合もあります。

docker.service (CentOS7)

ExecStartをいじれば起動オプションをつけられる。

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
BindsTo=containerd.service
After=network-online.target firewalld.service containerd.service
Wants=network-online.target
Requires=docker.socket

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock  -H 0.0.0.0:5555
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

# Note that StartLimit* options were moved from "Service" to "Unit" in systemd 229.
# Both the old, and new location are accepted by systemd 229 and up, so using the old location
# to make them work for either version of systemd.
StartLimitBurst=3

# Note that StartLimitInterval was renamed to StartLimitIntervalSec in systemd 230.
# Both the old, and new name are accepted by systemd 230 and up, so using the old name to make
# this option work for either version of systemd.
StartLimitInterval=60s

# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity

# Comment TasksMax if your systemd version does not supports it.
# Only systemd 226 and above support this option.
TasksMax=infinity

# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes

# kill only the docker process, not all processes in the cgroup
KillMode=process

[Install]
WantedBy=multi-user.target
~                                                                                                                                                             
~                                              

再読み込みと再起動 CentOS7

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# service docker restart

プロセス確認

ps aux | grep docker | grep -v grep

Ref

http://docs.docker.jp/engine/articles/configuring.html
https://forums.docker.com/t/how-to-change-dockerd-h-configuration-on-ubuntu-16-04/32631/3
https://qiita.com/masato/items/e967e531e75101796c30

19
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
14