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 命令