Docker後臺程序引數-------更改Docker執行根目錄的方法
Docker 後臺程序引數-------更改Docker執行根目錄的方法
引數 | 介紹 |
---|---|
--api-enable-cors=false | 遠端API呼叫。 |
-b, --bridge="" | 橋接一個系統上的網橋裝置到 Docker 容器裡,當使用 none 可以停用容器裡的網路 |
--bip="" | 使用 CIDR 地址來設定網路橋的 IP。此引數和 -b 不能一起使用。 |
-D, --debug=false | 開啟Debug模式。例如:docker -d -D |
-d, --daemon=false | 開啟Daemon模式。 |
--dns=[] | 設定容器使用DNS伺服器。例如: docker -d --dns 8.8.8.8 |
-dns-search=[] | 設定容器使用指定的DNS搜尋域名。如: docker -d --dns-search example.com |
--exec-driver="native" | 設定容器使用指定的執行時驅動。如:docker -d -e lxc |
-G, --group="docker" | 在後臺執行模式下,賦予指定的Group到相應的unix socket上。注意,當此引數 --group 賦予空字串時,將去除組資訊 |
-g, --graph="/var/lib/docker" | 設定Docker執行時根目錄 |
-H, --host=[] | 設定後臺模式下指定socket繫結,可以繫結一個或多個 tcp://host:port, unix:///path/to/socket, fd://* 或 fd://socketfd。如:$ docker -H tcp://0.0.0.0:2375 ps 或者$ export DOCKER_HOST="tcp://0.0.0.0:2375"$ docker ps |
-icc=true | 設定啟用內聯容器的通訊。 |
--ip="0.0.0.0" | 設定容器繫結IP時使用的預設IP地址 |
--ip-forward=true | 設定啟動容器的 net.ipv4.ip_forward |
--iptables=true | 設定啟動Docker容器自定義的iptable規則 |
--mtu=0 | 設定容器網路的MTU值,如果沒有這個引數,選用預設 route MTU,如果沒有預設route,就設定成常量值 1500。 |
-p, --pidfile="/var/run/docker.pid" | 設定後臺程序PID檔案路徑。 |
-r, --restart=true | 設定重啟之前執行中的容器 |
-s, --storage-driver="" | 設定容器執行時使用指定的儲存驅動,如,指定使用devicemapper,可以這樣:docker -d -s devicemapper |
--selinux-enabled=false | 設定啟用selinux支援 |
--storage-opt=[] | 設定儲存驅動的引數 |
--insecure-registry | 設定自定義倉庫地址,可以設定多個 例如: --insecure-registry 10.XX.XX.XX:5000 --insecure-registry 10.XX.XX.XX:5000 |
Docker 配置檔案位置
Docker 的配置檔案可以設定大部分的後臺程序引數,在各個作業系統中的存放位置不一致
在 ubuntu 中的位置是:/etc/default/docker
在 centos6 中的位置是:/etc/sysconfig/docker
在 centos7 中的位置是:/etc/docker/
Centos6更改Docker執行根目錄的方法
許多Linux使用者在安裝系統的時候,並沒有分配/var 分割槽,而在安裝Docker後才發現,它的預設存放位置是在 /var/lib/docker。因此導致了Docker在執行的很慢,那麼要怎麼解決這個問題呢?下面一起來看看解決的方法吧。
解決方法:
一是重灌系統,這也太不人性化了,忽略。。。下次部署 Docker 宿主機的時候得好好分割槽下。
二是改變 Docker 預設存放路徑。
查了下手冊發現: -g, --graph=“/var/lib/docker” 設定Docker執行時根目錄
使用 --graph 引數:docker --graph=/opt/docker -d,會自動生成/opt/docker目錄(0700),並在該目錄下建立 docker 相關檔案
原來的映象和容器都找不到了,因為路徑改了(原來的映象是在/var/lib/docker/devicemapper/devicemapper/{data,metadata})
Docker 的配置檔案可以設定大部分的後臺程序引數,在各個作業系統中的存放位置不一致
在 ubuntu 中的位置是:/etc/default/docker
在 centos 中的位置是:/etc/sysconfig/docker
我使用 CentOS 7,所以只需要更改 vim /etc/sysconfig/docker 成
OPTIONS=--graph=“/home/lib/docker” --selinux-enabled -H fd://
然後 service docker start 重新啟動 Docker 的路徑就改成 /home/lib/docker 了
上面的就是就是解決Docker存放位置的空間太小,導致Docker執行緩慢的方法了,有遇到這個問題的使用者,就用這種方法進行解決吧。
Centos7更改Docker執行根目錄配置:
/etc/docker/daemon.json
1 2 3 |
|
Docker指定multiple Insecure registry的方法
Docker如果需要從非SSL源管理映象,需要配置Docker配置檔案的insecury-registry引數,一般在如下位置修改其配置檔案:
* /etc/sysconfig/docker
* /etc/init.d/docker
預設情況下,INSECURE_REGISTRY引數被註釋不產生作用,可以根據實際需要配置該引數為目標非SSL加密的Docker Registry,例如:
INSECURE_REGISTRY='--insecure-registry 10.XX.XX.XX:5000'
如果需要同時對多個非SSL源進行顯式標註,則加入多個insecure-registry標籤即可,例如:
INSECURE_REGISTRY='--insecure-registry 10.XX.XX.XX:5000 --insecure-registry 10.XX.XX.XX:5000'
推送自定義映象至目標Registry之前,需要對映象進行TAG操作,如TAG中不包含registry的路徑(埠)資訊,則預設推送映象至官方源(docker.io),如果需要推送到自定義的映象源,則需要對目標進行TAG時帶上自定義映象repository的地址,如:
sudo docker tag docker.io/kibana:4.5 10.XX.XX.XXX:5000/example/sub/kibana:4.5
這條指令,即可將docker官方映象源下載的docker.io/kibana:4.5映象,標記為帶自定義 repository路徑的新的映象(10.XX.XX.XXX:5000/example/sub/kibana:4.5)
標記完後,可以用sodu docker images檢查映象時候被正確指定repository資訊及tag資訊,確認無誤後,即可推送至該自定義repository:
sudo docker push 10.XX.XX.XXX:5000/example/sub/kibana:4.5
正常情況下,該映象已被推送至10.XX.XX.XXX:5000/example/sub路徑。