第三章 docker入門docker
-
查看docker 是否正常工做: sudo docker infoshell
-
運行容器: docker run -i -t ubuntu /bin/bash -i 保證容器中的STDIN是開啓的 // 終端輸入開啓 -t 爲要建立的容器分配一個僞tty終端flask
ubuntu 是 告訴容器基於什麼養的鏡像來建立容器, 相似的還有fedora ,debian, centos 等基礎鏡像 首先docker 會檢查本地是否存在ubuntu鏡像,若是本地沒有 該鏡像的話 那麼docker會連接官方維護的Docker Hub 中是否有該鏡像,docker 一旦 找到該鏡像,就會下載該鏡像並保存到本地宿主機中ubuntu
若是須要指定鏡像的版本號可用:版本號 來指定 最後告訴docker 須要在容器中運行什麼命令,這裏運行了/bin/bash 來啓動一個Bash shellcentos
-
檢查容器進程: ps -auxbash
-
安裝軟件: apt-get update && apt-get install package // 首先update一下網絡
-
查看容器列表: docker ps 查看運行中的容器 docker ps -a 查看全部的容器性能
-
退出容器: exitrest
-
容器命名: 若是不指定容器名字,docker 會隨機分配一個惟一的名字 sudo docker run --name flask -i -t ubuntu /bin/bash日誌
-
中止容器: sudo docker stop dockername/ID
-
從新啓動已經中止的容器: sudo docker start dockername/ID
-
附着到容器: 當容器從新啓動後,不會自動進入會話狀態,須要進行一步附着操做 sudo docker attach dockername/ID 執行上步命令後,進入以前的會話狀態
-
建立守護式進程: sudo docker run --name flask -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
-d 表示後臺運行 經過組合上面參數,並無將主機的控制檯附着到新的shell 會話 ,僅僅返回了一個容器ID
-
獲取容器日誌: docker logs dockername 此命令會輸出最後幾條日誌
跟蹤守護式容器的日誌: docker logs -f dockername
爲每條日誌加時間: docker logs -ft dockername
-
docker 日誌驅動: docker 能夠利用--log-driver 來驅動日誌,該選項經常使用的兩個參數一個是 "syslog", 若是設置了這個選項那麼容器中的全部日誌將重定向到Syslog 能夠在啓動docker 守護進程或者 docker run 命令時加入該選項 ,同時docker logs 選項將被禁用 還有一個參數是none 這個參數,將會禁用容器中的全部日誌,docker logs 也 被禁用
-
查看容器內進程: docker top dockername
-
docker 統計信息: docker stats dockername // 能夠是多個,多個的話並排寫一塊兒中間" "隔開 信息如: cpu 內存 網絡I/O 儲存I/O的性能和指標
-
容器內部運行進程: docker exec -t -i dockername /bin/bash 在容器內運行交互命令
-
中止守護式進程: docker stop dockername
-
自動重啓容器: 因爲某種錯誤而致使容器中止運行,能夠經過 --restart 標誌,讓docker 自動重啓該 容器, --restart 會檢查容器的退出代碼,以此來決定是否要重啓容器
-- restart 接收兩種參數,always和on-failure, always設定後不管容器的退出代碼是 什麼都會重啓容器,on-failure 只有當容器退出碼非0時纔會重啓,on-failure還接受一個 可選的重啓次數參數 eg: --restart=always --restart=on-failure:5 //5是可選參數,表示重啓次數
-
容器更多的信息: 除了經過docker ps 來獲取容器的信息,還能夠經過docker inspect 來得到更多的容器信息 返回的配置信息: 包括名稱, 命令, 網絡配置, 以及其餘有用的數據
-
刪除容器: sudo docker rm dockername/ID 若是容器是在運行的容器須要提供 -f 參數