安裝
這裏使用的是阿里雲Docker-Engine:
[(http://mirrors.aliyun.com/help/docker-engine)]
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
使用命令
1. docker version
顯示 Docker 版本信息。
2. docker info
顯示 Docker 系統信息,包括鏡像和容器數。
3. docker search
docker search [options “o”>] term
docker search -s django
從 Docker Hub 中搜索符合條件的鏡像。
–automated 只列出 automated build
類型的鏡像;
–no-trunc 可顯示完整的鏡像描述;
-s 40 列出收藏數不小於40的鏡像。
4. docker pull
docker pull [-a “o”>] [user/ “o”>]name[:tag “o”>]
docker pull laozhu/telescope:latest
從 Docker Hub 中拉取或者更新指定鏡像。
-a 拉取所有 tagged 鏡像 。
5. docker login
root@moon:~# docker login
Username: username
Password: **
Email: [email protected]
Login Succeeded
按步驟輸入在 Docker Hub 註冊的用戶名、密碼和郵箱即可完成登錄。
6. docker logout
運行後從指定服務器登出,默認爲官方服務器。
7. docker images
docker images [options “o”>] [name]
列出本地所有鏡像。其中 [name] 對鏡像名稱進行關鍵詞查詢。
-a 列出所有鏡像(含過程鏡像);
-f 過濾鏡像,如: -f [‘dangling=true’] 只列出滿足
dangling=true 條件的鏡像;
–no-trunc 可顯示完整的鏡像ID;
-q 僅列出鏡像ID。
–tree 以樹狀結構列出鏡像的所有提交歷史。
8. docker ps
列出所有運行中容器。
-a 列出所有容器(含沉睡鏡像);
–before=”nginx” 列出在某一容器之前創建的容器,接受容器名稱和ID作爲參數;
–since=”nginx” 列出在某一容器之後創建的容器,接受容器名稱和ID作爲參數;
-f [exited=] 列出滿足
exited= 條件的容器;
-l 僅列出最新創建的一個容器;
–no-trunc 顯示完整的容器ID;
-n=4 列出最近創建的4個容器;
-q 僅列出容器ID;
-s 顯示容器大小。
9. docker rmi
docker rmi [options “o”>] “o”>[image…]
docker rmi nginx:latest postgres:latest python:latest
從本地移除一個或多個指定的鏡像。
-f 強行移除該鏡像,即使其正被使用;
–no-prune 不移除該鏡像的過程鏡像,默認移除。
10. docker rm
docker rm [options “o”>] “o”>[container…]
docker rm nginx-01 nginx-02 db-01 db-02
sudo docker rm -l /webapp/redis
-f 強行移除該容器,即使其正在運行;
-l 移除容器間的網絡連接,而非容器本身;
-v 移除與容器關聯的空間。
11. docker history
docker history “o”>[options]
查看指定鏡像的創建歷史。
–no-trunc 顯示完整的提交記錄;
-q 僅列出提交記錄ID。
12. docker start|stop|restart
docker start|stop “p”>|restart [options “o”>] “o”>[container…]
啓動、停止和重啓一個或多個指定容器。
-a 待完成
-i 啓動一個容器並進入交互模式;
-t 10 停止或者重啓容器的超時時間(秒),超時後系統將殺死進程。
13. docker kill
docker kill “o”>[options “o”>] “o”>[container…]
殺死一個或多個指定容器進程。
-s “KILL” 自定義發送至容器的信號。
14. docker events
docker events [options “o”>]
docker events –since= “s2”>”20141020”
docker events –until= “s2”>”20120310”
從服務器拉取個人動態,可選擇時間區間。
15. docker save
docker save -i “debian.tar”
docker save > “debian.tar”
將指定鏡像保存成 tar 歸檔文件, docker load 的逆操作。保存後再加載(saved-loaded)的鏡像不會丟失提交歷史和層,可以回滾。
-o “debian.tar” 指定保存的鏡像歸檔。
16. docker load
docker load [options]
docker load < debian.tar
docker load -i “debian.tar”
從 tar 鏡像歸檔中載入鏡像, docker save 的逆操作。保存後再加載(saved-loaded)的鏡像不會丟失提交歷史和層,可以回滾。
-i “debian.tar” 指定載入的鏡像歸檔。
17. docker export
docker export
docker export nginx-01 > export.tar
將指定的容器保存成 tar 歸檔文件, docker import 的逆操作。導出後導入(exported-imported))的容器會丟失所有的提交歷史,無法回滾。
18. docker import
docker import url|- “o”>[repository[:tag “o”>]]
cat export.tar “p”>| docker import - imported-nginx:latest
docker import http://example.com/export.tar
從歸檔文件(支持遠程文件)創建一個鏡像, export 的逆操作,可爲導入鏡像打上標籤。導出後導入(exported-imported))的容器會丟失所有的提交歷史,無法回滾。
19. docker top
docker top “o”>[ps options]
查看一個正在運行容器進程,支持 ps 命令參數。
20. docker inspect
docker instpect nginx:latest
docker inspect nginx-container
檢查鏡像或者容器的參數,默認返回 JSON 格式。
-f 指定返回值的模板文件。
21. docker pause
暫停某一容器的所有進程。
22. docker unpause
docker unpause
恢復某一容器的所有進程。
23. docker tag
docker tag [options “o”>] [:tag “o”>] [repository/ “o”>][username/]name “o”>[:tag]
標記本地鏡像,將其歸入某一倉庫。
-f 覆蓋已有標記。
24. docker push
docker push name[:tag “o”>]
docker push laozhu/nginx:latest
將鏡像推送至遠程倉庫,默認爲 Docker Hub 。
25. docker logs
docker logs [options “o”>]
docker logs -f -t –tail= “s2”>”10” insane_babbage
獲取容器運行時的輸出日誌。
-f 跟蹤容器日誌的最近更新;
-t 顯示容器日誌的時間戳;
–tail=”10” 僅列出最新10條容器日誌。
26. docker run
docker run [options “o”>] [ “nb”>command] “o”>[arg…]
啓動一個容器,在其中運行指定命令。
-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運行;
-c 待完成
-m 待完成
–net=”bridge” 指定容器的網絡連接類型,支持 bridge /
host / none
container:
保存並提交
1、進入docker設置好後exit退出(不是移除);
2、docker commit (當前運行着的docker名稱) (提交的image名稱):(tag);
3、docker push (提交的image名稱):(tag);