1. 程式人生 > >7-Docker引數和常用命令

7-Docker引數和常用命令

1:docker引數詳解 docker useage of docker -D 預設false 允許除錯模式(debugmode) -H 預設是unix:///var/run/docker.sock tcp://[host[:port]]來繫結 或者unix://[/path/to/socket]來使用(二進位制檔案的時候),當主機ip host=[0.0.0.0],(埠)port=[4243] 或者 path=[/var/run/docker.sock]是預設值,做為預設值來使用 -api-enable-cors 預設flase 允許CORS header遠端api -b 預設是空,附加在已存在的網橋上,如果是用'none'引數,就禁用了容器的網路 -bip 預設是空,使用提供的CIDR(ClasslessInter-Domain Routing-無型別域間選路)標記地址動態建立網橋(dcoker0),和-b引數衝突 -d 預設false 允許程序模式(daemonmode) -dns 預設是空,使docker使用指定的DNS伺服器 -g 預設是"/var/lib/docker":作為docker使用的根路徑 -icc 預設true,允許inter-container來通訊 -ip 預設"0.0.0.0":繫結容器埠的預設Ip地址 -iptables 預設true 禁用docker新增iptables規則 -mtu 預設1500 : 設定容器網路傳輸的最大單元(mtu) -p 預設是/var/run/docker.pid程序pid使用的檔案路徑 -r 預設是true 重啟之前執行的容器 -s 預設是空 ,這個是docker執行是使用一個指定的儲存驅動器 -v 預設false 列印版本資訊和退出
2:docker run命令詳解
Usage: docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG...] Run a command in a new container -a=map[]: 附加標準輸入、輸出或者錯誤輸出 -c=0: 共享CPU格式(相對重要) -cidfile="": 將容器的ID標識寫入檔案 -d=false: 分離模式,在後臺執行容器,並且打印出容器ID -e=[]:設定環境變數 -h="": 容器的主機名稱 -i=false: 保持輸入流開放即使沒有附加輸入流 -privileged=false: 給容器擴充套件的許可權 -m="": 記憶體限制 (格式:<number><optional unit>, unit單位 = b, k, m or g) -n=true: 允許映象使用網路 -p=[]: 匹配映象內的網路埠號 -rm=false:當容器退出時自動刪除容器 (不能跟 -d一起使用) -t=false: 分配一個偽造的終端輸入 -u="": 使用者名稱或者ID -dns=[]: 自定義容器的DNS伺服器 -v=[]: 建立一個掛載繫結:[host-dir]:[container-dir]:[rw|ro].如果容器目錄丟失,docker會建立一個新的卷 -volumes-from="": 掛載容器所有的卷 -entrypoint="": 覆蓋映象設定預設的入口點 -w="": 工作目錄內的容器 -lxc-conf=[]: 新增自定義-lxc-conf="lxc.cgroup.cpuset.cpus = 0,1" -sig-proxy=true: 代理接收所有程序訊號(even in non-tty mode) -expose=[]: 讓你主機沒有開放的埠 -link="": 連線到另一個容器(name:alias) -name="": 分配容器的名稱,如果沒有指定就會隨機生成一個 -P=false: Publish all exposed ports to thehost interfaces 公佈所有顯示的埠主機介面

3:docker常用命令總結
docker pull <映象名:tag> #從官網拉取映象 docker search <映象名> #搜尋線上可用映象名 查詢容器、映象、日誌 docker top <container> #顯示容器內執行的程序 docker images #查詢所有的映象,預設是最近建立的排在最上。 docker ps #檢視正在執行的容器 docker ps -l #檢視最後退出的容器的ID docker ps -a #檢視所有的容器,包括退出的。 docker logs {容器ID|容器名稱} #查詢某個容器的所有操作記錄。 docker logs -f {容器ID|容器名稱} #實時檢視容易的操作記錄。
刪除容器與映象
docker rm$(docker ps -a -q) #刪除所有容器 docker rm <容器名or ID> #刪除單個容器 docker rmi <ID> #刪除單個映象 docker rmi$(docker images | grep none | awk '{print $3}' | sort -r) #刪除所有映象
啟動停止容器 docker stop <容器名or ID> #停止某個容器 docker start <容器名or ID> #啟動某個容器 docker kill <容器名or ID> #殺掉某個容器
容器遷器 docker export <CONTAINER ID> > /home/export.tar #匯出 cat /home/export.tar | sudo docker import - busybox-1-export:latest # 匯入export.tar檔案 docker save debian> /home/save.tar #將debian容器打包 docker load< /home/save.tar #在另一臺伺服器上載入打包檔案
執行一個新容器 #執行一個新容器,同時為它命名、埠對映。以debian02映象為例 docker run -h="redis-test" --name redis-test -d -p 51000:22 -p51001:3306 -p 51003:6379 -p 51004:6381 -p 51005:80 -p 51006:8000 -p 51007:8888 debian02 /etc/rc.local #從container中拷貝檔案,當container已經關閉後,在裡面的檔案還可以拷貝出來。 sudo docker cp 7bb0e258aefe:/etc/debian_version . #把容器中的/etc/debian_version拷貝到當前目錄下。
docker Dockfile映象製作 [email protected]:/data# cat Dockerfile FROM ubuntu/testa #這是基礎映象 CMD ["/root/start.sh"] #這是啟動命令 [email protected]:/data# docker build -t <新映象名> ./ #生成新的映象