Docker 常用操作指令

weixin_33670713發表於2018-10-17

映象操作

列出docker下的所有映象

docker images 
/**
REPOSITORY:映象所在的倉庫名稱
TAG:映象標籤
IMAGE ID:映象ID
CREATED:映象的建立日期(不是獲取該映象的日期)
SIZE:映象大小
這些映象都是儲存在Docker宿主機的/var/lib/docker目錄下
**/
7634890-d8e1b5b103c21f5f.png
image.png

搜尋映象

docker search 映象名稱
/**
NAME:倉庫名稱
DESCRIPTION:映象描述
STARS:使用者評價,反應一個映象的受歡迎程度
OFFICIAL:是否官方
AUTOMATED:自動構建,表示該映象由Docker Hub自動構建流程建立的
**/
7634890-5abeee20c17f8cb0.png
image.png

拉取映象

docker pull centos:7

刪除映象

docker rmi $IMAGE_ID //刪除指定映象
docker rmi `docker images -q`//刪除所有映象

容器操作

檢視容器

docker ps //檢視正在執行容器
docker ps –a //檢視所有的容器(啟動過的歷史容器)
docker ps -l //檢視最後一次執行的容器
docker ps -f status=exited //檢視停止的容器

建立與啟動容器

建立容器命令:docker run
建立容器常用的引數說明:

引數 說明
-i 表示執行容器
-t 表示容器啟動後會進入其命令列。加入這兩個引數後,容器建立就能登入進去。即分配一個偽終端
--name 為建立的容器命名
-v 表示目錄對映關係(前者是宿主機目錄,後者是對映到宿主機上的目錄),可以使用多個-v做多個目錄或檔案對映。注意:最好做目錄對映,在宿主機上做修改,然後共享到容器上
-d 在run後面加上-d引數,則會建立一個守護式容器在後臺執行(這樣建立容器後不會自動登入容器,如果只加-i -t兩個引數,建立後就會自動進去容器)
-p 表示埠對映,前者是宿主機埠,後者是容器內的對映埠。可以使用多個-p做多個埠對映
建立互動式容器

舉例建立centos容器並進入centos系統

docker run -it --name=mycentos centos:7 /bin/bash
/**
/bin/bash 只是針對centos才加的命令,不加無法進入命令列 
:7 是指可能有很多centos映象,7是先前PULL映象時的打的TAG,這樣就能指定建立哪個centos映象了
**/

使用exit命令 退出當前容器

建立守護式容器

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

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

登入守護式容器方式

docker exec -it container_name (或者 container_id)  /bin/bash(exit退出時,容器不會停止)
停止與啟動容器
docker stop $CONTAINER_NAME/ID //停止正在執行的容器
docker start $CONTAINER_NAME/ID //啟動已執行過的容器

檔案拷貝

檔案拷貝使用cp命令(這個不等同於linux的cp命令,是docker的cp命令),應用在把宿主機的檔案或資料夾拷貝到容器裡或者把容器裡的檔案或資料夾拷貝到宿主機
將檔案拷貝到容器內

docker cp 需要拷貝的檔案或目錄 容器名稱:容器目錄

將檔案從容器內拷貝出來

docker cp 容器名稱:容器目錄 需要拷貝的檔案或目

目錄掛載

我們可以在建立容器的時候,將宿主機的目錄與容器內的目錄進行對映,這樣我們就可以通過修改宿主機某個目錄的檔案從而去影響容器

建立容器 新增-v引數 後邊為   宿主機目錄:容器目錄
docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:7

檢視容器IP地址

docker inspect mycentos2 //檢視容器執行的各種資料
docker inspect --format='{{.NetworkSettings.IPAddress}}' mycentos2 //直接輸出IP地址

刪除容器

刪除指定的容器:docker rm $CONTAINER_ID/NAME

注意,只能刪除停止的容器

相關文章