docker常用命令(鏡像+容器相關命令)


一、鏡像相關命令:

鏡像:Docker鏡像是由文件系統疊加而成(是一種文件的存儲形式);是docker中的核心概念,可以認為鏡像就是對某些運行環境或者軟件打的包,用戶可以從docker倉庫中下載基礎鏡像到本地,比如開發人員可以從docker倉庫拉取(下載)一個只包含centos7系統的基礎鏡像,然后在這個鏡像中安裝jdk、mysql、Tomcat和自己開發的應用,最后將這些環境打成一個新的鏡像。開發人員將這個新的鏡像提交給測試人員進行測試,測試人員只需要在測試環境下運行這個鏡像就可以了,這樣就可以保證開發人員的環境和測試人員的環境完全一致。

1.1 查看鏡像:

docker images

REPOSITORY:鏡像名稱
TAG:鏡像標簽
IMAGE ID:鏡像ID ;
CREATED:鏡像的創建日期
SIZE:鏡像大小

1.2 搜索鏡像:

docker search 鏡像名稱

NAME:鏡像名稱
DESCRIPTION:鏡像描述
STARS:用戶評價,反應一個鏡像的受歡迎程度
OFFICIAL:是否官方
AUTOMATED:自動構建,表示該鏡像由Docker Hub自動構建流程創建的

1.3 拉取鏡像:

docker pull 鏡像名稱
docker pull 鏡像名稱:版本號(若不指定則會拉取最新的版本)

# 如拉取centos 7; 
docker pull centos:7 

1.4 刪除鏡像:

docker rmi 鏡像id

刪除全部鏡像:docker rmi ` docker images -q ` (慎用)

二、容器相關的命令

2.1 查看正在運行的容器:

docker ps

2.2 查看所有容器:

docker ps -a

2.3 創建並啟動容器

可以基於已有的鏡像來創建和啟動容器:docker run

-i:表示運行容器
-t:表示容器啟動后會進入其命令行。加入這兩個參數后,容器創建就能登錄進去。即分配一個偽終端。
--name :為創建的容器命名。
-v:表示目錄映射關系(前者是宿主機目錄,后者是映射到宿主機上的目錄),可以使用多個-v做多個目錄或文件映射。注意:最好做目錄映射,在宿主機上做修改,然后共享到容器上。
-d:在run后面加上-d參數,則會創建一個守護式容器在后台運行(這樣創建容器后不會自動登錄容器,如果只加-i -t兩個參數,創建后就會自動進去容器)。
-p:表示端口映射,前者是宿主機端口,后者是容器內的映射端口。可以使用多個-p做多個端口映射

2.3.1 創建並啟動交互式容器:

啟動交互式容器之后是直接進入容器終端;可以查看容器的文件結構;使用exit命令則會退出終端並且停止容器。

# 先拉取一個鏡像;這一步不是每次啟動容器都要做的,而是因為前面我們刪除了鏡像,無鏡像可用所以才再拉取一個 
docker pull centos:7 

#創建並啟動名稱為 mycentos7 的交互式容器;下面指令中的鏡像名稱 centos:7 也可以使用鏡像id 
docker run -it --name=mycentos7 centos:7 /bin/bash 

2.3.2 守創建並啟動護式容器

創建一個守護式容器;如果對於一個需要長期運行的容器來說,我們可以創建一個守護式容器。命令如下(容器名稱不能重復):

創建並啟動守護式容器

docker run -di --name=mycentos2 centos:7

2.4 登錄進入容器:

docker exec -it 容器名稱 (或者 container_id) /bin/bash
例子1:docker exec -it 927b54db4397 bash
例子2:docker exec -it mycentos2 /bin/bash

2.5 容器拷貝 docker cp

操作步驟:
本機根目錄下創建文件: touch abc.txt

docker cp abc.txt mycentos7:/ 把本機的abc.txt復制到 mycentos7的根目錄下
docker exec -it mycentos7 /bin/bash 進入mycentos7
ll 查看文件是否復制成功

touch cba.txt 在mycentos7 中創建 1個cba.txt 文件
docker cp mycentos7:/cba.txt /本機路徑 在本機中復制cba.txt到本機下

2.6 停止正在運行的容器:

docker stop 容器名稱或者ID

2.7 啟動已運行過的容器:

docker start 容器名稱或者ID

2.8 查看容器ip :

在linux宿主機下查看 mycentos3 的ip :
docker inspect mycentos3

2.9 容器刪除:只能刪除停止狀態的容器;

docker rm 容器名稱或者容器id
docker rm `docker ps -a -q` 刪除所有的容器(慎用)

小結

守護式容器在啟動之后會一直在后台運行,即使進入容器之后執行exit命令也不會停止容器;
適用於需要長期運行容器的情況


免責聲明!

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



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