Docker?daemon?配置和故障排除過程
啟動daemon
啟動daemon命令取決與你使用的操作系統(tǒng):
RHEL, CentOS, Fedora, Ubuntu 16.04 或者更高版本,使用systemd管理docker服務(wù)啟動。
$ sudo systemctl enable docker
關(guān)閉自動啟動
$ sudo systemctl disable docker
手動啟動daemon
$ dockerd
我們可以執(zhí)行以下命令把當(dāng)前用戶加入到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啟動參數(shù),或者通過daemon.json配置文件更改配置。
完整的daemon.json的啟動參數(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": "" }
更好的方法是把這些啟動參數(shù)寫道配置文件中:daemon.json
讀取日志
docker日志的保存路徑取決于操作系統(tǒng)的類型或者日志子系統(tǒng),詳見下表:
啟動調(diào)試
兩種方式打開調(diào)試模式
推薦方式是修改daemon.json文件,debug設(shè)置為true,這種方式適用于任何平臺:
daemon.json一般保存在:/etc/docker/目錄下,如果不存在你可以創(chuàng)建該文件,如該文件為空,增加下面的內(nèi)容:
{ "debug": true }
發(fā)送HUP信號給daemon,使其重新加載配置文件,linux系統(tǒng)命令如下:
$ sudo kill -SIGHUP $(pidof dockerd)
另一種方式是啟動docker時,增加-D標簽
強制日志輸出
如該daemon長時間沒反應(yīng)或者反映較慢,可應(yīng)通過命令發(fā)送信號強制日志追蹤,具體命令如下:
linux:
$ sudo kill -SIGUSR1 $(pidof dockerd)
windows:
Download docker-signal. Run the executable with the flag --pid=<PID of daemon>
這會強制追蹤日志,而不會停止daemon的運行。
檢查docker是否運行
- 使用:docker info 命令
- 使用系統(tǒng)命令:sudo systemctl is-active docker
- 使用系統(tǒng)命令:sudo status docker
- 使用系統(tǒng)命令:sudo service docker status
- 使用:ps 或者 top查看dockerd進程是否運行
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
安裝Docker Desktop報錯WSL 2 installation is incomplete的問題(解決報錯)
這篇文章主要介紹了安裝Docker Desktop報錯WSL 2 installation is incomplete的問題,解決方法很簡單只需我們自己手動更新一下,我們根據(jù)提示去微軟官網(wǎng)下載最新版的wsl2安裝后即可正常打開,需要的朋友可以參考下2021-06-06Docker構(gòu)建kubectl鏡像的實現(xiàn)步驟
這篇文章主要介紹了Docker構(gòu)建kubectl鏡像的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01淺談docker運行nginx為什么要使用daemon off
這篇文章主要介紹了淺談docker運行nginx為什么要使用daemon off,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01在docker中部署tomcat并且部署java應(yīng)用程序的步驟詳解
本文給大家介紹如何在docker中部署tomcat及如何部署我們的應(yīng)用程序到docker容器的tomcat里,本文介紹的非常詳細,具有參考借鑒價值,一起看看吧2016-10-10在Docker中如何配置網(wǎng)絡(luò)并訪問互聯(lián)網(wǎng)
這篇文章主要介紹了在Docker中如何配置網(wǎng)絡(luò)并訪問互聯(lián)網(wǎng)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01