Docker 鏡像常用命令
- 搜索鏡像
可使用 docker search 命令搜索存放在 Docker Hub 中的鏡像。例如: docker search java 執行該命令后, Docker 就會在 Docker Hub 中搜索含有 java 這個關鍵詞的鏡像倉庫。執行該命令后,可看到類似于如下的表格:
該表格包含五列,含義如下。
- NAME :鏡像倉庫名稱。
- DESCRIPTION :鏡像倉庫描述。
- STARS :鏡像倉庫收藏數,表示該鏡像倉庫的受歡迎程度,類似于 GitHub 的 Stars 。
- OFFICIAL :表示是否為官方倉庫,該列標記為 [OK] 的鏡像均由各軟件的官方項目組創建和維護。由結果可知,前8個鏡像倉庫是官方倉庫,而其他的倉庫都不是鏡像倉庫。
- AuTOMATED :表示是否是自動構建的鏡像倉庫。
- 下載鏡像
使用命令 docker pull 命令即可從 Docker Registry 上下載鏡像,例如: docker putl j ava 執行該命令后, Docker 會從 Docker Hub 中的 Java 倉庫下載最新版本的 Jaya 鏡像。若鏡像下載緩慢,可配置鏡像加速器,Docker 簡單入門(一)。該命令還可指定想要下載的鏡像標簽以及 Docker Registry 地址,例如: docker pull reg.itmuch.com/java:7 這樣就可以從指定的 Docker Registry 中下載標簽為 7 的 Java 鏡像。 - 列出鏡像
使用 docker images 命令即可列出已下載的鏡像。執行該命令后,將會看到類似于如下的表格:
該表格包含了 5 列,含義如下。
- REPOSITORY :鏡像所屬倉庫名稱。
- TAG :鏡像標簽。默認是 latest ,表示最新。
- IMAGE ID :鏡像 ID ,表示鏡像唯一標識。
- CREATED :鏡像創建時間。
- SIZE :鏡像大小
-
刪除本地鏡像
使用 docker rmi 命令即可刪除指定鏡像。例1 :刪除指定名稱的鏡像。
doCker rmi hello-world 表示刪除 hello-world 這個鏡像。
例 2 :刪除所有鏡像。
docker rmi -f $(docker images)
-f 參數表示強制刪除。
Docker 容器的常用命令
- 新建并啟動容器
使用一下docker run 命令即可新建并啟動一個容器。
該命令是最常用的命令,它有很多選項下面將列舉一些常用的選項:
-d選項:表示后臺運行
-P選項:隨機端口映射
-p選項:指定端口映射,有以下四種格式。
ip: hostPort: containerPort
p: containerport
hostPort: containerPort
container port
network選項:指定網絡模式,該選項有以下可選參數:
--network=bridge:默認選項,表示連接到默認的網橋。
--network=host:容器使用宿主機的網絡。
--network=container:NAME_or_ID:告訴 Docker讓新建的容器使用已有容器的網絡配置
--network=none:不配置該容器的網絡,用戶可自定義網絡配置。
示例1docker run java /bin/echo 'Hello World'
這樣終端會打印 Hello world的字樣,跟在本地直接執行/bin/echo" Hello World"一樣。
示例2:docker run -d-p 91: 80 nginx
這樣就能啟動一個Ngnx容器。在本例中,為 docker run添加了兩個參數,含義如下:
-d # 后臺運行
-p宿主機端口:容器端口 # 開放容器端口到宿主機端口
訪問htt: Docker宿主機IP:91/需要注意的是,使用 docker run命令創建容器時,會先檢查本地是否存在指定鏡像。如果本地不存在該名稱的鏡像, Docker就會自動從 Docker Hub下載鏡像并啟動一個 Docker容器。
- 列出容器
使用 docker ps命令即可列出運行中的容器執行該命令后,可看到類似于如下的表格。
如需列出所有容器(包括已停止的容器),可使用-a參數。
該表格包含了7列,含義如下。
CONTAINER ID:表示容器I。
MAGE:表示鏡像名稱。
COMMAND:表示啟動容器時運行的命令。
CREATED:表示容器的創建時間。
STATUS:表示容器運行的狀態。U表示運行中, Exited表示已停止
PORTS:表示容器對外的端口號。
NAMES:表示容器名稱。該名稱默認由 Docker自動生成,也可使用 docker run 命令的-name選項自行指定。 - 停止容器
使用 docker stop命令,即可停止容器。例如
docker stop 784fd3b294d7
中784635294d7是容器ID,當然也可使用 ocker stop容器名稱來停止指定容器。
4. 強制停容器
可使用 docker kill命令發送 SIGKILL信號來強制停止容器。例如:
docker kill 784fd3b294d7
- 啟動已停止的容器
使用 docker run命令,即可新建并啟動一個容器。對于已停止的容器,可使用 docker start命令來啟動。例如:
docker start 784fd3b294d7
- 重啟容器
可使用 docker restart命令來重啟容器。該命令實際上是先執行了 locker stop命令,然后執行了 docker start 命令。 - 進入容器
docker container exec -i -t 容器ID /bin/bash
- 刪除容器
使用 docker rm 命令即可刪除看定溶器。
例1:刪除指定容器。
docker rm 784fd3b294d7
該命令盡能刪除已停止的容器,如需刪除正在運行的容器,可使用 -f 參數。
例2:刪除所有的容器。
docker rm -f $(docker ps -a -q)