Docker 常用命令

2021-10-02 23:54:16 字數 4752 閱讀 3077

docker 基本命令

systemctl start docker: 啟動 docker

systemctl stop docker: 停止 docker

systemctl restart docker: 重啟 docker

systemctl enable docker: 開機啟動 docker

docker info: 檢視 docker 概要資訊

docker --help:檢視 docker 幫助文件

docker version: 檢視docker版本資訊

docker 映象 基本命令

1、docker imagesordocker image ls: 列出本機所有映象

options 可選引數

可選引數

引數描述

-a顯示所有映象(包括中間層)

-q只顯示映象id

-qa可以組合使用

–digests

可以顯示映象的摘要資訊

–no-trunc

可以顯示完整的映象資訊

2、docker search: 搜尋映象

options 可選引數

可選引數

引數描述

–no-trunc

顯示完整的映象描述

-s列出收藏數不小於指定值的映象

–automated

只列出docker hub自動構建型別的映象

docker pull: 拉取映象

dockers pull 映象名稱 : [tag]

3、docker rmi: 刪除映象

刪除單個

docker rmi 映象名稱:[tag]  如果不寫 tag 則預設刪除最新版 latest

有映象生成的容器在執行的時候,會刪除失敗,需要加 -f 強制刪除

[root@izbp17khuqdfkef3nl1db3z ~]# docker rmi rabbitmq

error response from daemon: conflict: unable to remove repository reference "rabbitmq" (must force) - container 99693943e972 is using its referenced image 84bc4895f175

docker rmi -f 映象名稱1:[tag] 映象名稱2:[tag] 多個映象之間空格隔開

docker 容器 基本命令

docker run [options] image [command][arg...]: 建立並啟動容器

options 可選引數

可選引數

引數描述

–name=『容器新名字』

為容器指定乙個名稱

-i以互動模式執行容器、通常和 -t 同時使用

-t為容器重新分配乙個偽輸入終端,通常和 -i 同時使用

-d後台執行容器,並返回容器id

docker ps [options]: 列出容器

options 可選引數

可選引數

引數描述

-a顯示所有容器,包括未執行的

-f根據條件過濾顯示的內容

–format

指定返回值的模板檔案

-l顯示最近建立的容器

-n顯示最近建立的 n 個容器

–no-trunc

不截斷輸出

-q靜默模式,只顯示容器編號

-s顯示總的檔案大小

-qa列出所有容器id

exit:容器停止退出

ctrl + p + q: 容器不停止退出

docker attach 容器id or 容器名: 進入容器

dockr start 容器id or 容器名: 啟動容器

dockr restart 容器id or 容器名: 重啟容器

docker stop 容器id or 容器名:停止容器

docker rm 容器id: 如果刪除正在執行的容器,會報錯,如果需要刪除,需要強制刪除

docker rm 容器id -f: 強制刪除

docker rm -f $(docker ps -qa): 刪除所有容器

docker 容器與宿主機埠對映

docker run [options] image [command] [arg...]: **docker run :**建立乙個新的容器並執行乙個命令

docker run -i -t -p 宿主機埠:容器應用埠 --name 別名 映象id: docker 容器與宿主機埠對映

options 可選引數

可選引數

引數描述

-d後台執行容器,並返回容器id

-i以互動模式執行容器,通常與 -t 同時使用

-p(大寫p)

隨機埠對映,容器內部埠隨機對映到主機的高階口

-p(小寫p)

指定埠對映,格式為:主機(宿主)埠:容器埠

–name

為容器指定乙個名稱

修改 docker 預設儲存位置,docker 容器遷移

docker中預設存放映象和容器的目錄是:/var/lib/docker/,/var下比較容易滿建議遷移。

我的系統是 centos7,具體解決步驟如下:

停止docker 服務:

systemctl stop docker; //每個liunx版本的命令不一樣。

在空間充足的磁碟下建立新的docker目錄

mkdir -p /data/docker;	//在根目錄下新建

遷移**/var/lib/docker**目錄下面的檔案到剛才新建好的/data/docker下面

cp -rvf /var/lib/docker/* /data/docker

修改 docker 配置

在檔案末尾新增:--graph=/data/docker

[service]

execstart=

execstart=/usr/bin/dockerd --insecure-registry=私服位址 --graph=/home/docker/lib

過載配置,重啟docker

systemctl daemon-reload;

systemctl restart docker;

systemctl enable docker;

啟動成功後,確定容器沒問題後刪除/var/lib/docker/目錄中的檔案,然後就ok了。

檢視容器日誌

docker logs: 獲取容器的日誌

語法 :docker logs [options] container

options 可選引數

可選引數

引數描述

-f跟蹤日誌輸出

–since

顯示某個開始時間的所有日誌

-t顯示時間戳

–tail

僅列出最新n條容器日誌

docker 容器目錄掛載

​ 我們 在建立容器的時候,將宿主機的目錄與容器內的目錄進行對映,這樣我們就可以實現宿主機和容器目錄的雙向資料自動同步。

​ 我們可以通過容器目錄掛載,能夠輕鬆實現**上傳、配置修改、日誌同步等需求。

語法 :docker run -i -t -v /宿主機目錄:/容器目錄 映象id

多目錄掛載 :docker run -i -t -v /宿主機目錄:/容器目錄 -v/宿主機目錄2:/容器目錄2 映象id

注意:如果同步多級目錄,可能會出現許可權不足的提示,只需要新增 **–privileged=true **來解決掛載的目錄沒有許可權的提示問題。

docker容器啟動的時候,如果要掛載宿主機的乙個目錄,可以用-v引數指定。

譬如我要啟動乙個centos容器,宿主機的/data/hdata目錄掛載到容器的/cdata目錄,可通過以下方式指定:

docker run -i -t -v /data/hdata:/cdata 470671670cac
注意點

容器目錄不可以為相對路徑

宿主機目錄如果不存在,則會自動生成

docker常用命令 Docker 常用命令筆錄

格式docker run 選項 映象 命令 引數.示例docker run it rm ubuntu 16.04 bash 示例解釋 it 這是兩個引數,乙個是 i,表示互動式操作,乙個是 t表示終端 rm 這個引數是說容器退出後隨之將其刪除 ubuntu 16.04 這是指用ubuntu 16.0...

docker常用命令

1.刪除已退出的容器 docker rm docker ps a q 2.強制刪除所有容器 docker rm f docker ps a 3.docker attach 進不去的時候可以用docker exec it containerid bin bash docker run it ubunt...

docker常用命令

docker常用命令 1.進入docker容器 sudo docker run it insaneworks centos bin bash 使用ctrl p或者ctrl q可以進入和退出容器 2.拉去乙個映象 docker pull insaneworks centos 檢視所有的映象 docke...