第二十一章 Centos7下Docker自定義配置
阿新 • • 發佈:2022-01-05
There are a number of ways to configure the daemon flags and environment variables for your Docker daemon. The recommended way is to use the platform-independent daemon.json file, which is located in /etc/docker/ on Linux by default.
推薦使用 /etc/docker/daemon.json 自定義配置。
一、具體操作
#1.關閉 docker [root@m1 ~]# systemctl stop docker [root@m1 ~]# systemctl status docker #2.移動檔案 [root@m1 ~]# mv /var/lib/docker /data #3.新增檔案 /etc/docker/daemon.json,預設不存在 [root@m1 ~]# vim /etc/docker/daemon.json { "registry-mirrors": ["https://8mh75mhz.mirror.aliyuncs.com"], "data-root": "/data/docker", "live-restore": true } #4.重啟 docker,start 無效 [root@m1 ~]# systemctl restart docker #5.檢視映象是否仍存在 [root@m1 ~]# docker images
二、軟連結修改資料目錄
Docker supports softlinks for the Docker data directory (`/var/lib/docker`) and for `/var/lib/docker/tmp`.
Docker 的資料目錄支援軟連結。
#1.檢視 docker 資料目錄大小 [root@m1 ~]# du -sh /var/lib/docker 8.9G /var/lib/docker #2.關閉 docker [root@m1 ~]# systemctl stop docker [root@m1 ~]# systemctl status docker #3.移動檔案 [root@m1 ~]# mv /var/lib/docker /data #4.建立軟連結 [root@m1 ~]# ln -s /data/docker /var/lib/ #5.啟動 docker [root@m1 ~]# systemctl start docker #6.檢視映象是否仍存在 [root@m1 ~]# docker images #7.檢視 docker 資料目錄大小 [root@m1 ~]# du -sh /var/lib/docker/ 12G /var/lib/docker/ [root@m1 ~]# du -sh /data/docker/ 12G /data/docker/
三、自定義配置示例參考
{ "authorization-plugins": [],//訪問授權外掛 "data-root": "",//docker資料持久化儲存的根目錄 "dns": [],//DNS伺服器 "dns-opts": [],//DNS配置選項,如埠等 "dns-search": [],//DNS搜尋域名 "exec-opts": [],//執行選項 "exec-root": "",//執行狀態的檔案的根目錄 "experimental": false,//是否開啟試驗性特性 "storage-driver": "",//儲存驅動器 "storage-opts": [],//儲存選項 "labels": [],//鍵值對式標記docker元資料 "live-restore": true,//dockerd掛掉是否保活容器(避免了docker服務異常而造成容器退出) "log-driver": "",//容器日誌的驅動器 "log-opts": {"max-size":"2G","max-file":"3"},//容器日誌的選項 "mtu": 0,//設定容器網路MTU(最大傳輸單元) "pidfile": "",//daemon PID檔案的位置 "cluster-store": "",//叢集儲存系統的URL "cluster-store-opts": {},//配置叢集儲存 "cluster-advertise": "",//對外的地址名稱 "max-concurrent-downloads": 3,//設定每個pull程序的最大併發 "max-concurrent-uploads": 5,//設定每個push程序的最大併發 "default-shm-size": "64M",//設定預設共享記憶體的大小 "shutdown-timeout": 15,//設定關閉的超時時限 "debug": true,//開啟除錯模式 "hosts": [],//監聽地址 "log-level": "",//日誌級別 "tls": true,//開啟傳輸層安全協議TLS "tlsverify": true,//開啟輸層安全協議並驗證遠端地址 "tlscacert": "",//CA簽名檔案路徑 "tlscert": "",//TLS證書檔案路徑 "tlskey": "",//TLS金鑰檔案路徑 "swarm-default-advertise-addr": "",//swarm對外地址 "api-cors-header": "",//設定CORS(跨域資源共享-Cross-origin resource sharing)頭 "selinux-enabled": false,//開啟selinux(使用者、程序、應用、檔案的強制訪問控制) "userns-remap": "",//給使用者名稱空間設定 使用者/組 "group": "",//docker所在組 "cgroup-parent": "",//設定所有容器的cgroup的父類 "default-ulimits": {},//設定所有容器的ulimit "init": false,//容器執行初始化,來轉發訊號或控制(reap)程序 "init-path": "/usr/libexec/docker-init",//docker-init檔案的路徑 "ipv6": false,//開啟IPV6網路 "iptables": false,//開啟防火牆規則 "ip-forward": false,//開啟net.ipv4.ip_forward "ip-masq": false,//開啟ip掩蔽(IP封包通過路由器或防火牆時重寫源IP地址或目的IP地址的技術) "userland-proxy": false,//使用者空間代理 "userland-proxy-path": "/usr/libexec/docker-proxy",//使用者空間代理路徑 "ip": "0.0.0.0",//預設IP "bridge": "",//將容器依附(attach)到橋接網路上的橋標識 "bip": "",//指定橋接ip "fixed-cidr": "",//(ipv4)子網劃分,即限制ip地址分配範圍,用以控制容器所屬網段實現容器間(同一主機或不同主機間)的網路訪問 "fixed-cidr-v6": "",//(ipv6)子網劃分 "default-gateway": "",//預設閘道器 "default-gateway-v6": "",//預設ipv6閘道器 "icc": false,//容器間通訊 "raw-logs": false,//原始日誌(無顏色、全時間戳) "allow-nondistributable-artifacts": [],//不對外分發的產品提交的registry倉庫 "registry-mirrors": [],//registry倉庫映象 "seccomp-profile": "",//seccomp配置檔案 "insecure-registries": [],//非https的registry地址 "no-new-privileges": false,//禁止新優先順序 "default-runtime": "runc",//OCI聯盟(The Open Container Initiative)預設執行時環境 "oom-score-adjust": -500,//記憶體溢位被殺死的優先順序(-1000~1000) "node-generic-resources": ["NVIDIA-GPU=UUID1", "NVIDIA-GPU=UUID2"],//對外公佈的資源節點 "runtimes": {//執行時 "cc-runtime": { "path": "/usr/bin/cc-runtime" }, "custom": { "path": "/usr/local/bin/my-runc-replacement", "runtimeArgs": [ "--debug" ] } } }