目錄
- 啟動daemon
- Docker daemon配置
- 讀取日志
- 啟動調試
- 強制日志輸出
- 檢查docker是否運行
- 總結
啟動daemon
啟動daemon命令取決與你使用的操作系統:
RHEL, CentOS, Fedora, Ubuntu 16.04 或者更高版本,使用systemd管理docker服務啟動。
$ sudo systemctl enable docker
關閉自動啟動
$ sudo systemctl disable docker
手動啟動daemon
$ dockerd
我們可以執行以下命令把當前用戶加入到docker組,避免每次docker命令都要sudo。
$ sudo usermod -aG docker username
Docker daemon配置
加速器:
針對Docker客戶端版本大于1.10的用戶,您可以通過修改daemon配置文件/etc/docker/daemon.json來使用加速器:
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包含很多配置選項,在手工啟動daemon的時候可以通過flags配置daemon啟動參數,或者通過daemon.json配置文件更改配置。
完整的daemon.json的啟動參數如下:
{ "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": "" }
更好的方法是把這些啟動參數寫道配置文件中:daemon.json
讀取日志
docker日志的保存路徑取決于操作系統的類型或者日志子系統,詳見下表:
啟動調試
兩種方式打開調試模式
推薦方式是修改daemon.json文件,debug設置為true,這種方式適用于任何平臺:
daemon.json一般保存在:/etc/docker/目錄下,如果不存在你可以創建該文件,如該文件為空,增加下面的內容:
{ "debug": true }
發送HUP信號給daemon,使其重新加載配置文件,linux系統命令如下:
$ sudo kill -SIGHUP $(pidof dockerd)
另一種方式是啟動docker時,增加-D標簽
強制日志輸出
如該daemon長時間沒反應或者反映較慢,可應通過命令發送信號強制日志追蹤,具體命令如下:
linux:
$ sudo kill -SIGUSR1 $(pidof dockerd)
windows:
Download docker-signal. Run the executable with the flag --pid=<PID of daemon>
這會強制追蹤日志,而不會停止daemon的運行。
檢查docker是否運行
- 使用:docker info 命令
- 使用系統命令:sudo systemctl is-active docker
- 使用系統命令:sudo status docker
- 使用系統命令:sudo service docker status
- 使用:ps 或者 top查看dockerd進程是否運行
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。