1. 程式人生 > >Docker 基礎命令

Docker 基礎命令

 

 

本文件中使用“/#”表示正處於容器的互動式命令列中“#”表示處於宿主機命令列中

 

#Docker run –I –t Ubuntu /bin/bash  //建立並啟動容器,隨機分配容器名稱,如果本地沒有ubuntu映象會從倉庫下載

/# hostname

/#cat /etc/hosts

/#ps –aux //容器中檢視程序

/#apt-get update

/#apt-get install vim // 容器中安裝vim

# docker run  --name ubuntu_container –i –t Ubuntu /bin/bash   //為容器命名

#docker ps –a   //列出所有的容器,包括正在執行和已經停止的去掉a引數則只列出所有正在執行的, 容器的命名必須是唯一的。

#docker ps –n 7 //顯示最後7個容器,無論是停止還是正在執行

 

#docker start ubuntu_container  //重新啟動已經停止的容器可以用docker ps 檢視正在執行的容器, 重啟的時候會安裝之前的引數重啟

 

#docker start 5bc30c6010ed //通過id重啟容器

#docker stop ubuntu_container //停止容器 向容器傳送SIGTERM訊號

#docker stop 5bc30c6010ed //停止容器也可以用容器id

#docker kill ubuntu_container //快速停止容器

#docker kill 5bc30c6010ed //快速停止容器 向容器傳送SIGKILL訊號

#docker create //建立一個容器但是並不執行

#docker attach ubuntu_container //重啟之後,可以通過attach附著到容器中重新進入容器的bash互動式命令列,執行該命令之後可能需要回車鍵才可以回到bash

#docker attach 5bc30c6010ed // 後面除了接容器名稱還可以接容器id

 

#docker run --name daemon_demo -d ubuntu  /bin/sh -c "whle true; do echo hello world;sleep 1; done" //建立一個守護式容器,-d 表示後臺執行, while迴圈列印hello world,執行該命令之後並沒有進去互動式bash, 而是會返回一個容器id

#docker logs daemon_demo //獲取守護式容器的日誌會輸出hello world

#docker logs -f daemon_demo //-f 操作類似tail –f , 按ctrl c  停止

#docker logs tail 10 daemon_demo //輸出最後十行日誌

#docker logs tail 0 -f daemon_demo //跟蹤最新日誌

#docker run –log-driver=“syslog” --name daemon_demo -d ubuntu  /bin/sh -c "whle true; do echo hello world;sleep 1; done"//將所有日誌重定向輸出到syslog,docker log將失效

 

 

#docker top daemon_demo // 檢視容器內部的程序

#docker stats [容器名稱1 容器名稱2 …]// 顯示一個或者多個容器的統計資訊,可以檢視各個容器的cpu,記憶體, 網路IO等等;docker1.5中引入的指令

 

//容器中執行程序:1後臺任務, 2互動式任務

#docker exec –d daemon_demo touch /etc/new_config_file //在容器中執行一個程序,touch命令建立一個新的空檔案,-d表示後臺執行

#docker exec –I –t daemon_demo  /bin/bash //在容器內進行互動式命令

 

 

 

//容器自動重啟: 由於某種錯誤導致容器停止通過--restart引數自動重啟,--restart會檢查容器退出程式碼,據此決定是否需要重啟,預設不會重啟

#docker run -–restart=always --name daemon_demo -d ubuntu  /bin/sh -c "whle true; do echo hello world;sleep 1; done" //-–restart=always表示無論退出程式碼是什麼都會重啟,除了always之外還有“on-failure”值,on-failure只有在退出程式碼為0時才重啟它還可以指定重啟的次數:“-–restart=on-failure:5”表示當退出程式碼為0時重啟,最多重啟5次

 

 

 

#docker inspect daemon_demo //獲取容器的詳細配置資訊,可以檢視容器的名稱、命令、網路配置、以及其他的很多有用資料

#docker inspect --format=‘{{ .State.running}}’ daemon_demo// 可以用-f或者—format檢視選定的結果, 例如該命令返回容器的執行狀態 –f或—format支援go語言模板

#docker inspect –format ‘{{ .NetworkSettins.IPAddress}}’ daemon_demo //返回容器的IP

#docker inspect –format ‘{{.Name}} {{ .NetworkSettins.IPAddress}}’ daemon_demo ubuntu_container //檢視多個容器的多個選定的結果

 

#docker rm 5bc30c6010ed //刪除容器

# docker rm ‘sudo docker ps –a -q’ //刪除所有容器sudo docker ps –a –q的-a會列出所有的容器,-q會只返回容器id而不會返回其他資訊,如此便獲取了所有容器的id列表並傳給docker rm 命令