docker命令圖譜




基本命令

倉庫相關操作

docker pull? ? #從遠程倉庫拉取鏡像到本地

docker push? ? #推送本地鏡像到遠程倉庫

docker search? #在倉庫搜索鏡像

docker login? ? #登錄到官方倉庫Docker Hub

docker logout? #退出登錄

鏡像相關操作

docker build? ? #從Dockerfile構建鏡像

docker pull? ? #同上

docker push? ? #同上

docker history? #顯示鏡像的歷史信息

docker images? #列出鏡像

docker rmi? ? ? #刪除鏡像

docker tag? ? ? #給鏡像打上tag標簽

docker run? ? ? #創建容器并啟動容器

docker create? #創建容器

docker commit? #將修改后的容器生成鏡像

docker load? ? #從壓縮包中加載鏡像

docker import? #

docker save? ? #將鏡像保存到壓縮文件

容器相關操作

docker attach? #依附到一個正在運行的容器中

docker exec? ? #進到正在運行的容器中執行命令

docker cp? ? ? #在容器和本地系統間復制文件

docker update? #將一個容器內所有的進程從暫停狀態中恢復

docker ps? ? ? #列出主機中的容器

docker port? ? #查找一個nat到私有網口的公共口

docker top? ? ? #查看一個容器中正在運行的進程信息

docker logs? ? #查看日志文件

docker diff? ? #檢查容器內文件系統的修改

docker status? #輸出容器的資源使用統計信息

docker wait? ? #阻塞直到容器終止

docker start? ? #啟動已創建的容器

docker pause? ? #暫停運行中的容器

docker unpause? #使暫停的容器恢復運行

docker stop? ? #停止容器運行

docker rename? #容器改名

docker restart? #容器重啟

docker kill? ? #關閉運行中的容器

docker rm? ? ? #刪除容器

docker export? #導出容器內容為tar包

docker run? ? ? #同上

docker create? #同上

docker commit? #同上

其他基本命令

docker events? #從服務端獲取實時的事件

docker info? ? #查看系統相關信息

docker inspect? #顯示Docker對象的具體配置信息,包括容器,鏡像,網絡等

docker version? #輸出Docker的版本信息

管理命令

docker container? ? #容器管理

docker image? ? ? ? #鏡像管理

docker network? ? ? #網絡管理

docker node? ? ? ? #節點管理

docker plugin? ? ? #插件管理

docker secret? ? ? #

docker service? ? ? #服務管理

docker stack? ? ? ? #

docker swarm? ? ? ? #集群管理

docker system? ? ? #

docker volume? ? ? #卷管理


================================================================

Docker命令

docker 常用命令如下

管理命令:

? container? 管理容器

? image? ? ? 管理鏡像

? network? ? 管理網絡

? node? ? ? ? 管理Swarm節點

? plugin? ? ? 管理插件

? secret? ? ? 管理Docker secrets

? service? ? 管理服務

? stack? ? ? 管理Docker stacks

? swarm? ? ? 管理Swarm集群

? system? ? ? 查看系統信息

? volume? ? ? 管理卷


? 如:docker container ls 顯示所有容器


普通命令:


? attach? ? 進入一個運行的容器

? build? ? ? 從一個DockerFile構建鏡像

commit從容器創建一個鏡像

? cp? ? ? ? ? 從容器和主機文件系統之間拷貝文件

create創建一個容器

? diff? ? ? ? 檢查容器文件系統上的更改

events從服務器獲取實時事件

? exec? ? ? ? 在正在運行的容器中運行命令

export將容器的文件系統導出為tar存檔

? history? ? 顯示鏡像的歷史記錄

? images? ? ? 查看鏡像列表

import從歸檔文件中創建鏡像

? info? ? ? ? 顯示系統范圍的信息

? inspect? ? 返回Docker對象的低級信息

killkill運行中的容器

load從存檔或者STDIN加載鏡像

? login? ? ? 登陸docker鏡像倉庫

? logout? ? ? 退出docker鏡像倉庫

logs獲取一個容器的日志

? pause? ? ? 暫停一個或多個容器中的所有進程

? port? ? ? ? 查看端口映射或容器的特定映射列表

? ps? ? ? ? ? 查看容器列表

? pull? ? ? ? 從鏡像倉庫拉取鏡像

? push? ? ? ? 將本地的鏡像上傳到鏡像倉庫,要先登陸到鏡像倉庫

rename重命名容器

? restart? ? 重啟容器

? rm? ? ? ? ? 刪除容器

? rmi? ? ? ? 刪除鏡像

? run? ? ? ? 創建一個新的容器并運行一個命令

save將指定鏡像保存成 tar 歸檔文件

search從Docker Hub搜索鏡像

start啟動容器

? stats? ? ? 實時顯示容器資源使用情況的統計信息

stop停止容器

? tag? ? ? ? 標記本地鏡像,將其歸入某一倉庫

? top? ? ? ? 展示一個容器中運行的進程

? unpause? ? 恢復容器中所有的進程

update更新容器配置

version顯示Docker的版本信息

wait阻塞直到容器停止,然后打印退出代碼


? 如:docker images 顯示所有鏡像

下面將分別介紹一些常用操作

docker 拉取并運行一個鏡像

下載鏡像

$ docker pull centos

查看已經下載的鏡像

$ docker images

? ? REPOSITORY? ? ? ? ? TAG? ? ? ? ? ? ? ? IMAGE ID? ? ? ? ? ? CREATED? ? ? ? ? ? SIZE

centos? ? ? ? ? ? ? latest49f7960eb7e46weeks ago200MB

hello-world? ? ? ? latest? ? ? ? ? ? ? f2a91732366c8months ago1.85kB

運行一個鏡像并生成容器

//運行一個centos鏡像,并執行/bin/bash命令

$ docker run centos /bin/bash

輸入命令docker ps或者docker container ls查看運行中的容器,發現列表為空,原因是容器在執行完成命令后會自動退出,下面介紹讓讓容器停留在后臺的方法

$ docker ps

? ? CONTAINER ID? ? ? ? IMAGE? ? ? ? ? ? ? COMMAND? ? ? ? ? ? CREATED? ? ? ? ? ? STATUS? ? ? ? ? ? ? PORTS? ? ? ? ? ? ? NAMES


$ docker container ls

? ? CONTAINER ID? ? ? ? IMAGE? ? ? ? ? ? ? COMMAND? ? ? ? ? ? CREATED? ? ? ? ? ? STATUS? ? ? ? ? ? ? PORTS? ? ? ? ? ? ? NAMES

使用命令docker ps -a或者docker container ls -a 查看所用容器,并顯示了容器的狀態

$ docker ps -a

CONTAINER ID? ? ? ? IMAGE? ? ? ? ? ? ? COMMAND? ? ? ? ? ? CREATED? ? ? ? ? ? STATUS? ? ? ? ? ? ? ? ? ? ? PORTS? ? ? ? ? ? ? NAMES

5525373371f3? ? ? ? centos"/bin/bash"7minutes ago? ? ? Exited (0)7minutes ago? ? ? ? ? ? ? ? ? ? ? ? nifty_rosalind

docker 讓鏡像運行停留在后臺

1.啟動一個容器并后臺運行

docker run命令 通過增加-i -t參數可以讓容器并進入容器

docker run -i -t centos /bin/bash

按 Ctrl + P + Q 退出容器,再用 docker ps 進行查看

$ docker ps

CONTAINER ID? ? ? ? IMAGE? ? ? ? ? ? ? COMMAND? ? ? ? ? ? CREATED? ? ? ? ? ? STATUS? ? ? ? ? ? ? PORTS? ? ? ? ? ? ? NAMES

61b041e4e063? ? ? ? centos"/bin/bash"3minutes ago? ? ? Up3minutes? ? ? ? ? ? ? ? ? ? ? ? ? ? nervous_saha

狀態顯示仍在運行中

docker 進入一個運行的容器

$ docker ps

CONTAINER ID? ? ? ? IMAGE? ? ? ? ? ? ? COMMAND? ? ? ? ? ? ? ? ? CREATED? ? ? ? ? ? STATUS? ? ? ? ? ? ? PORTS? ? ? ? ? ? ? ? ? ? NAMES

36afde543eb5? ? ? ? mysql:5.7"docker-entrypoint.s…"About anhourago? Up About anhour0.0.0.0:3306->3306/tcp? mymysql

$ docker exec -it36afde543eb5 /bin/bash

-i 保持STDIN打開 -t 分配一個虛擬TTY窗口

docker 提交一個鏡像到鏡像倉庫

首先到https://hub.docker.com/注冊一個賬號,保存下用戶名密碼 2.控制臺登陸dockerhub賬戶

$ docker login

? ? 輸入剛注冊的用戶名密碼

查看鏡像

$ docker images

REPOSITORY? ? ? ? ? TAG? ? ? ? ? ? ? ? IMAGE ID? ? ? ? ? ? CREATED? ? ? ? ? ? SIZE

redis? ? ? ? ? ? ? latest? ? ? ? ? ? ? f06a5773f01e2days ago83.4MB

選擇需要上傳的鏡像,重命名為指定的格式

$ docker? tag redis username/myredis:v1

username:為自己注冊的用戶名

myredis:為自己為鏡像取的名字

v1:為任意設置的版本號

完成上述操作后,即可提交鏡像到自己的倉庫

docker pull username/myredis:v1

docker 映射文件從宿主機到容器,端口號映射

//將宿主機的81端口映射到容器的80端口

//將宿主機的/develop/data卷,映射到容器的/data卷

$ docker run -i -t -p81:80-v /develop/data:/datacentos /bin/bash

-p:映射端口號 -v:磁盤目錄映射

docker 更改端口號映射

運行中的容器無法映射新的端口號,也無法更改端口號映射,但可以通過兩種方法解決

iptable轉發端口

//查看容器ip

$ docker inspect36afde543eb5 | grep IPAddress

"IPAddress":"172.17.0.2"

//將主機的8081端口映射到宿主機的8080端口

$ iptables -t nat -A? DOCKER -p tcp --dport8081-j DNAT --to-destination172.17.0.2:8080

先提交容器為鏡像,再運行這個容器,同時指定新的端口映射

//提交容器為鏡像

$ docker commit9995ffa15f46? mycentos:0.1

//停止舊的容器

$ docker stop9995ffa15f46

//重新從舊的鏡像啟動容器

$ docker run -i -t? -p8081:8080mycentos:0.1

從DockerFile創建鏡像

$ docker build -tmyimage:v1 .

-t :指定鏡像名稱和標簽,格式為'name:tag' .: 最后一個點代表當前目錄,也可以換成其它的路徑

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一、Docker 簡介 Docker 兩個主要部件:Docker: 開源的容器虛擬化平臺Docker Hub: 用...
    R_X閱讀 4,409評論 0 27
  • 一.docker 是什么: 2.安裝docker 系統:ubuntu16.04 使用腳本自動安裝 Docker 官...
    Black_Sun閱讀 2,156評論 0 2
  • docker常用命令詳解 - CSDN博客 本文只記錄docker命令在大部分情境下的使用,如果想了解每一個選項的...
    Meathill大魔王閱讀 832評論 1 2
  • 我們知道是顧客的存在決定企業的存在,我們今天企業經營的所有的出發點都是為了滿足或者創造顧客價值。那如何發現,如何去...
    蔡元恒頻道閱讀 970評論 0 0
  • 這周拿到這個題目,其實心里挺發怵,因為在我的印象當中自己是一個特別不擅長創新的人,比如畫畫一直都是臨摹,從小時候到...
    穆建園閱讀 344評論 3 0