版本說(shuō)明:Docker 20.10
幫助命令
docker version #查看docker版本
docker info #查看docker信息
docker --help #查看docker幫助信息
鏡像命令
docker images?#列出本地鏡像
屬性:
REPOSITORY:鏡像倉(cāng)庫(kù)源?
TAG:鏡像版本標(biāo)簽?
IMAGEID:鏡像ID?
CREATED:鏡像創(chuàng)建時(shí)間
參數(shù):
-a #列出本地所有鏡像?
-q #只顯示鏡像ID?
--digests #顯示鏡像摘要信息?
--no-trunc #顯示完整的鏡像信息
docker search [參數(shù)] 鏡像名字? #通過(guò)docker hub查找某個(gè)鏡像
參數(shù):
--no-trunc #顯示完整的鏡像描述
--filter=stars=指定值 or -f STARS=指定值?#列出收藏?cái)?shù)不小于指定值的鏡像 例:docker search --filter=stars=50? php
--filter is-automated=true #只列出automated build類(lèi)型(自動(dòng)構(gòu)建)的鏡像
docker pull 鏡像名字? #拉取某個(gè)鏡像?docker pull 鏡像名字[:TAG]
屬性:
:版本號(hào)? #默認(rèn)拉取lastest(最新的版本)指定版本 例:docker pull php:7.4
docker rmi 鏡像ID或者鏡像名?#刪除鏡像 使用鏡像ID?or??鏡像名字
刪除多個(gè):docker rmi -f 鏡像名1:TAG 鏡像名2:TAG...
刪除全部:docker rmi -f $(docker images -qa) #查詢(xún)出全部的id,然后刪除
參數(shù):
-f #強(qiáng)制刪除 例:docker rmi -f hello-world:latest
docker commit -m="提交描述信息" -a="作者"?鏡像ID 要?jiǎng)?chuàng)建的目標(biāo)鏡像名[:標(biāo)簽名]??#提交容器服務(wù)成為新鏡像
docker build -f Dockerfile的文件路徑 -t 新鏡像名字:TAG .??#使用Dockerfile構(gòu)建鏡像 (在當(dāng)前目錄下)-f 自定義文件各墨,否則默認(rèn)讀取名字為Dockerfile的文件??-t 選項(xiàng)來(lái)docker build新的鏡像以便于標(biāo)記構(gòu)建的鏡像
docker history 鏡像ID? #查看鏡像編輯歷史(Dockerfile構(gòu)建情況)
容器命令
docker run [參數(shù)] 鏡像名 [COMMAND][ARG..]?#新建并啟動(dòng)容器
參數(shù):
--name="容器新名字" #為容器指定一個(gè)名稱(chēng)
-d #后臺(tái)運(yùn)行容器,并返回容器ID,即啟動(dòng)守護(hù)式容器
-i #以交互模式運(yùn)行容器入愧,通常與-t同時(shí)使用
-t #為容器重新分配一個(gè)偽輸入終端(打開(kāi)命令窗口),通常與-i同時(shí)使用
-v /宿主機(jī)絕對(duì)路徑目錄:/容器內(nèi)目錄 鏡像名?#新增容器數(shù)據(jù)卷?
-e 環(huán)境變量=要傳遞的值? #傳遞環(huán)境變量 例:MYSQL_ROOT_PASSWORD=123456
-P #隨機(jī)端口映射(隨機(jī)分配主機(jī)端口)
-p #指定端口映射,有以下四種格式
ip:hostPort:containerPort #主機(jī)端口+容器端口 對(duì)外暴露的接口相對(duì)應(yīng)
ip::containerPort
hostPort:containerPort
containerPort
docker ps [參數(shù)] #列出當(dāng)前所有正在運(yùn)行的容器
參數(shù):
--a? #列出當(dāng)前所有正在運(yùn)行的容器+歷史上運(yùn)行過(guò)的容器
-l #顯示最近創(chuàng)建的容器
-n #顯示最近n個(gè)創(chuàng)建的容器?例:dockers ps -n 10
-q #靜默模式棺蛛,只顯示容器編號(hào)
--no-trunc #不截?cái)噍敵?/p>
exit 或者 ctrl+P+Q?#退出容器
exit #容器停止退出
ctrl+P+Q #容器不停止退出
docker start 容器ID或者容器名?#啟動(dòng)容器
docker restart 容器ID或者容器名?#重啟容器
docker stop 容器ID或者容器名?#停止容器
docker kill 容器ID或者容器名?#強(qiáng)制停止容器
docker rm 容器ID或者容器名?#刪除已停止的容器
-f #強(qiáng)制刪除未關(guān)閉的容器
docker rm -f $(docker ps -a -q) #刪除全部容器
docker ps -a -q | xargs docker rm #刪除全部容器
常用命令:
docker logs? 容器ID?#查看容器日志
參數(shù):
--t? #加入時(shí)間戳
-f #跟隨最新的日志打诱觥(自動(dòng)追加顯示)
--tail #顯示最后有多少條(截取部分查看) 例:docker logs -tail 5 #查看最后5行
docker top 容器ID?#查看容器內(nèi)運(yùn)行的進(jìn)程
docker inspect 容器ID?#查看容器內(nèi)部細(xì)節(jié)
docker attach?容器ID??#重新進(jìn)入(?ctrl+P+Q 退出容器情況下)
docker exec -it 容器ID bashShell?/bin/bash #進(jìn)入運(yùn)行的容器并以命令行交互 例:docker exec -it 123456 ls -l /home #直接獲取結(jié)果
docker cp 容器ID:容器內(nèi)路徑 目的主機(jī)路徑?#從容器內(nèi)拷貝文件到主機(jī)上 例:docker cp iek3kd32: /vur/nginx.log /pan/data
容器數(shù)據(jù)卷
docker run -it -v /宿主機(jī)絕對(duì)路徑目錄:/容器內(nèi)目錄 鏡像名 #新增容器數(shù)據(jù)卷?
-privileged=true #給權(quán)限
docker run -it -v /宿主機(jī)絕對(duì)路徑目錄:/容器內(nèi)目錄:ro 鏡像名?#新增容器數(shù)據(jù)卷 容器內(nèi)的目錄只讀