docker菜鳥教程常用指令

  • 1 Docker的啟動與停止
  • 2 映象相關命令
  • 3 容器相關命令

1 Docker的啟動與停止

systemctl命令是系統服務管理器指令啟動docker: systemctl start docker停止docker: systemctl stop docker重啟docker: systemctl restart docker檢視docker狀態: systemctl status docker開機啟動: systemctl enable docker檢視docker概要資訊 docker info檢視docker幫助文件 docker --help

2 映象相關命令

檢視映象 docker images

REPOSITORY:映象名稱

TAG:映象標籤

IMAGE ID:映象ID

CREATED:映象的建立日期(不是獲取該映象的日期)

SIZE:映象大小

這些映象都是儲存在Docker宿主機的/var/lib/docker目錄下

搜尋映象

如果你需要從網路中查詢需要的映象,可以通過以下命令搜尋

docker search 映象名稱

NAME:倉庫名稱

DESCRIPTION:映象描述

STARS:使用者評價,反應一個映象的受歡迎程度

OFFICIAL:是否官方

AUTOMATED:自動構建,表示該映象由Docker Hub自動構建流程建立的

拉取映象

拉取映象就是從中央倉庫中下載映象到本地

docker pull 映象名稱

例如,我要下載centos7映象

docker pull centos:7

刪除映象

按映象ID刪除映象 docker rmi 映象ID

刪除所有映象 docker rmi `docker images -q`

3 容器相關命令

  1. 檢視正在執行的容器 docker ps
  2. 檢視所有容器 docker ps –a
  3. 檢視最後一次執行的容器 docker ps –l
  4. 檢視停止的容器 docker ps -f status=exited
  5. 建立與啟動容器

建立容器常用的引數說明:

建立容器命令:docker run

-i:表示執行容器

-t:表示容器啟動後會進入其命令列。加入這兩個引數後,容器建立就能登入進去。即分配一個偽終端。

--name :為建立的容器命名。

-v:表示目錄對映關係(前者是宿主機目錄,後者是對映到宿主機上的目錄),可以使用多個-v做多個目錄或檔案對映。注意:最好做目錄對映,在宿主機上做修改,然後共享到容器上。

-d:在run後面加上-d引數,則會建立一個守護式容器在後臺執行(這樣建立容器後不會自動登入容器,如果只加-i -t兩個引數,建立後就會自動進去容器)。

-p:表示埠對映,前者是宿主機埠,後者是容器內的對映埠。可以使用多個-p做多個埠對映

(1)互動式方式建立容器

docker run -it --name=容器名稱 映象名稱:標籤 /bin/bash

這時我們通過ps命令檢視,發現可以看到啟動的容器,狀態為啟動狀態

退出當前容器

exit

(2)守護式方式建立容器:

docker run -di --name=容器名稱 映象名稱:標籤

  1. 登入守護式容器方式:

docker exec -it 容器名稱 (或者容器ID) /bin/bash

停止與啟動容器

停止容器: docker stop 容器名稱(或者容器ID)

啟動容器: docker start 容器名稱(或者容器ID)

重啟容器: docker restart 容器名稱(或者容器ID) 當要修改容器中引數(tomcat環境變數) 需要重啟後才能生效

檔案拷貝

如果我們需要將檔案拷貝到容器內可以使用cp命令

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

也可以將檔案從容器內拷貝出來

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

目錄掛載

我們可以在建立容器的時候,將宿主機的目錄與容器內的目錄進行對映,這樣我們就可以通過修改宿主機某個目錄的檔案從而去影響容器。 建立容器 新增-v引數 後邊為 宿主機目錄:容器目錄,例如:

docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:7

如果你共享的是多級的目錄,可能會出現許可權不足的提示。

這是因為CentOS7中的安全模組selinux把許可權禁掉了,我們需要新增引數 --privileged=true 來解決掛載的目錄沒有許可權的問題

檢視容器IP地址

我們可以通過以下命令檢視容器執行的各種資料

docker inspect 容器名稱(容器ID)

也可以直接執行下面的命令直接輸出IP地址

docker inspect --format='{{
   .NetworkSettings.IPAddress}}' 容器名稱(容器ID)

刪除容器

刪除指定的容器:

docker rm 容器名稱(容器ID)