Docker命令使用詳解


其中<>括起來的參數為必選,

[]括起來為可選

docker -exec -i -t 3f407013d8c0 /bin/bash    進入容器

docker version查看docker的版本號,包括客戶端、服務端、依賴的Go等

docker info查看系統(docker)層面信息,包括管理的images, containers數等

docker search <image>在docker index中搜索image 

docker pull <image>從docker registry server 中下拉image  

docker push <image|repository>推送一個image或repository到registry

docker push <image|repository>:TAG同上,指定tag 

docker inspect <image|container>查看image或container的底層信息

docker images查看images列表(該命令不會列出所有的images)

docker images -a列出所有的images  

docker ps默認顯示正在運行中的container 

docker ps -l顯示最后一次創建的container,包括未運行的

docker ps -a顯示所有的container,包括未運行的

docker logs <container>查看container的日志,也就是執行命令的一些輸出

docker rm <container...>刪除一個或多個container

docker rmi <image...>刪除一個或多個image 

docker start/stop/restart <container>開啟/停止/重啟container

docker start -i <container>啟動一個container並進入交互模式

docker attach <container>attach一個運行中的container 

docker run <image> <command>使用image創建container並執行相應命令,然 后停止

docker run -i -t <image> /bin/bash使用image創建container並進入交互模式, login shell是/bin/bash 

docker run -i -t -p <host_port:contain_port>將container的端口映射到宿主機的端口

docker commit <container> [repo:tag]將一個container固化為一個新的image,后面的repo:tag可選。該命名創建一個新的image 

docker build <path>尋找path路徑下名為的Dockerfile的配置文件,使用此配置生成新的image

docker build -t repo[:tag]同上,可以指定repo和可選的tag

docker build - < <dockerfile>使用指定的dockerfile配置文件,docker以stdin 方式獲取內容,使用此配置生成新的image 

docker port <container> <container port>查看本地哪個端口映射到 container的指定端口,其實用docker ps也可以看到

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: user@domain.com 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=<int>] 列出滿足 exited=<int> 條件的容器;
-l 僅列出最新創建的一個容器;
--no-trunc 顯示完整的容器ID;
-n=4 列出最近創建的4個容器;
-q 僅列出容器ID;
-s 顯示容器大小。

9. docker rmi docker rmi [options "o">] <image>  "o">[image...] docker rmi nginx:latest postgres:latest python:latest

從本地移除一個或多個指定的鏡像。

-f 強行移除該鏡像,即使其正被使用;
--no-prune 不移除該鏡像的過程鏡像,默認移除。

10. docker rm docker rm [options "o">] <container>  "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] <image>

查看指定鏡像的創建歷史。

--no-trunc 顯示完整的提交記錄;
-q 僅列出提交記錄ID。

12. docker start|stop|restart docker start|stop "p">|restart [options "o">] <container>  "o">[container...]

啟動、停止和重啟一個或多個指定容器。

-a 待完成
-i 啟動一個容器並進入交互模式;
-t 10 停止或者重啟容器的超時時間(秒),超時后系統將殺死進程。

13. docker kill docker kill  "o">[options "o">] <container>  "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"


docker save jdeathe/centos-ssh-mysql > "centos-mysql-ssh.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 <container> 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 <running_container>  "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 <container>

恢復某一容器的所有進程。

23. docker tag docker tag [options "o">] <image>[: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">] <container> docker logs -f -t --tail= "s2">"10" insane_babbage

獲取容器運行時的輸出日志。

-f 跟蹤容器日志的最近更新;
-t 顯示容器日志的時間戳;
--tail="10" 僅列出最新10條容器日志。

26. docker run docker run [options "o">] <image> [ "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:<name|id> 四種類型;
--link=[] 待完成
--expose=[] 待完成

 

部分轉自http://www.server110.com/docker/201411/11122.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM