容器帶有可寫文件層。虛擬機是獨立運行的一整套操做系統和跑在上面的應用。docker容器是獨立運行的一個應用,以及他們必須的運行環境。html
建立、啓動、終止容器,進入容器內執行操做、刪除、導入導出等操做。nginx
建立容器 虛擬機的進化。對容器進行操做和直接操做應用同樣簡單快速。 docker create -it ubuntu:14.04 查看容器 docker ps -a 處於中止狀態,啓動 docker start id create和run命令支持的選項十分複雜分三大類:與容器運行模式相關、與容器和環境配置相關、與容器資源限制和安全保護相關。、docker
新建並啓動容器: docker run ubuntu /bin/echo 'hello world' 其中docker run至關於先執行docker create 再執行docker start ,在輸出完hello world後容器自動終止。ubuntu
docker run的標準執行流程:檢查本地鏡像,不存在就從倉庫下載;用鏡像建立一個容器,啓動該容器;分配一個文件系統給容器,在只讀鏡像層外掛載一層可讀寫層;從宿主機配置的網橋接口中橋接一個虛擬接口到容器中;從網橋的地址池配置一個ip地址給容器;執行用戶指定的程序;執行完畢後容器自動終止。安全
啓動bash終端並交互 docker run -it ubuntu:14.04 /bin/bashbash
man docker-run查看命令選項服務器
pwd顯示路徑名ps查看進程exit退出容器網絡
錯誤代碼 125 是docker daemon執行出錯;126是指定命令沒法執行,如權限出錯;127是容器內命令沒法找到。操作系統
守護態運行。利用參數-d實現。容器會進入後臺,沒法看到信息,沒法操做。 此時進入容器有三個方法:attach、exec、nsenter。 docker attach name 多個窗口連到容器時,會同步顯示。 docker exec -it id /bin/bash從新打開一個交互用的bash終端。推薦使用。 nsenter命令經過pid鏈接,命令偏長,不推薦。rest
獲取容器輸出信息 docker logs id
終止容器 docker stop id 強行終止容器docker kill id 當容器中應用終結時,容器就會自動終止。 重啓容器docker restart id
刪除容器 docker rm id 有可選項-f -l -v。
導出容器 從一個系統遷移到另外一個系統。導出一個已建立的容器到一個文件,不管運行與否,docker export命令。如docker export -o aa.tar id
導入容器 docker import aa.tar - test/ubuntu:v1.0
參考文章http://www.runoob.com/docker/docker-run-command.html docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS說明: -a stdin: 指定標準輸入輸出內容類型,可選 STDIN/STDOUT/STDERR 三項; -d: 後臺運行容器,並返回容器ID; -i: 讓標準輸入打開,以交互模式運行容器,一般與 -t 同時使用; -t: 爲容器從新分配一個僞輸入終端並綁定到容器的標準輸入上,一般與 -i 同時使用; --name="nginx-lb": 爲容器指定一個名稱; --dns 8.8.8.8: 指定容器使用的DNS服務器,默認和宿主一致; --dns-search example.com: 指定容器DNS搜索域名,默認和宿主一致; -h "mars": 指定容器的hostname; -e username="ritchie": 設置環境變量; --env-file=[]: 從指定文件讀入環境變量; --cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定CPU運行; -m :設置容器使用內存最大值; --net="bridge": 指定容器的網絡鏈接類型,支持 bridge/host/none/container: 四種類型; --link=[]: 添加連接到另外一個容器; --expose=[]: 開放一個端口或一組端口;