目錄
- 啟動(dòng)daemon
- Docker daemon配置
- 讀取日志
- 啟動(dòng)調(diào)試
- 強(qiáng)制日志輸出
- 檢查docker是否運(yùn)行
- 總結(jié)
啟動(dòng)daemon
啟動(dòng)daemon命令取決與你使用的操作系統(tǒng):
RHEL, CentOS, Fedora, Ubuntu 16.04 或者更高版本,使用systemd管理docker服務(wù)啟動(dòng)。
$ sudo systemctl enable docker
關(guān)閉自動(dòng)啟動(dòng)
$ sudo systemctl disable docker
手動(dòng)啟動(dòng)daemon
$ dockerd
我們可以執(zhí)行以下命令把當(dāng)前用戶加入到docker組,避免每次docker命令都要sudo。
$ sudo usermod -aG docker username
Docker daemon配置
加速器:
針對(duì)Docker客戶端版本大于1.10的用戶,您可以通過修改daemon配置文件/etc/docker/daemon.json來(lái)使用加速器:
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://5162s31v.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
daemon包含很多配置選項(xiàng),在手工啟動(dòng)daemon的時(shí)候可以通過flags配置daemon啟動(dòng)參數(shù),或者通過daemon.json配置文件更改配置。
完整的daemon.json的啟動(dòng)參數(shù)如下:
{ "api-cors-header": "", "authorization-plugins": [], "bip": "", "bridge": "", "cgroup-parent": "", "cluster-store": "", "cluster-store-opts": {}, "cluster-advertise": "", "debug": true, "default-gateway": "", "default-gateway-v6": "", "default-runtime": "runc", "default-ulimits": {}, "disable-legacy-registry": false, "dns": [], "dns-opts": [], "dns-search": [], "exec-opts": [], "exec-root": "", "fixed-cidr": "", "fixed-cidr-v6": "", "graph": "", "group": "", "hosts": [], "icc": false, "insecure-registries": [], "ip": "0.0.0.0", "iptables": false, "ipv6": false, "ip-forward": false, "ip-masq": false, "labels": [], "live-restore": true, "log-driver": "", "log-level": "", "log-opts": {}, "max-concurrent-downloads": 3, "max-concurrent-uploads": 5, "mtu": 0, "oom-score-adjust": -500, "pidfile": "", "raw-logs": false, "registry-mirrors": [], "runtimes": { "runc": { "path": "runc" }, "custom": { "path": "/usr/local/bin/my-runc-replacement", "runtimeArgs": [ "--debug" ] } }, "selinux-enabled": false, "storage-driver": "", "storage-opts": [], "swarm-default-advertise-addr": "", "tls": true, "tlscacert": "", "tlscert": "", "tlskey": "", "tlsverify": true, "userland-proxy": false, "userns-remap": "" }
更好的方法是把這些啟動(dòng)參數(shù)寫道配置文件中:daemon.json
讀取日志
docker日志的保存路徑取決于操作系統(tǒng)的類型或者日志子系統(tǒng),詳見下表:
啟動(dòng)調(diào)試
兩種方式打開調(diào)試模式
推薦方式是修改daemon.json文件,debug設(shè)置為true,這種方式適用于任何平臺(tái):
daemon.json一般保存在:/etc/docker/目錄下,如果不存在你可以創(chuàng)建該文件,如該文件為空,增加下面的內(nèi)容:
{ "debug": true }
發(fā)送HUP信號(hào)給daemon,使其重新加載配置文件,linux系統(tǒng)命令如下:
$ sudo kill -SIGHUP $(pidof dockerd)
另一種方式是啟動(dòng)docker時(shí),增加-D標(biāo)簽
強(qiáng)制日志輸出
如該daemon長(zhǎng)時(shí)間沒反應(yīng)或者反映較慢,可應(yīng)通過命令發(fā)送信號(hào)強(qiáng)制日志追蹤,具體命令如下:
linux:
$ sudo kill -SIGUSR1 $(pidof dockerd)
windows:
Download docker-signal. Run the executable with the flag --pid=<PID of daemon>
這會(huì)強(qiáng)制追蹤日志,而不會(huì)停止daemon的運(yùn)行。
檢查docker是否運(yùn)行
- 使用:docker info 命令
- 使用系統(tǒng)命令:sudo systemctl is-active docker
- 使用系統(tǒng)命令:sudo status docker
- 使用系統(tǒng)命令:sudo service docker status
- 使用:ps 或者 top查看dockerd進(jìn)程是否運(yùn)行
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持。