Docker學(xué)習(xí)(一)——docker常用命令

一、常用dokcer命令匯總

docker常用命令結(jié)構(gòu)圖如下:

docker命令結(jié)構(gòu)圖.jpg

二、docker鏡像相關(guān)命令

  1. 列出已安裝的鏡像:
docker images
//或者
docker image ls 
  1. 保存已安裝的鏡像:
docker save 鏡像名:tag -o 鏡像名.tar 
//或者
docker save 鏡像名:tag > 鏡像名.tar
  1. 從本地包安裝鏡像:
docker load -i 鏡像名.tar
//或者
docker load < 鏡像名.tar
  1. 獲取鏡像的詳細(xì)信息:
docker inspect 鏡像名:tag //返回json格式的數(shù)據(jù);
docker inspect -f {{".Size"}}  鏡像名:tag //返回?cái)?shù)據(jù)中指定的某一項(xiàng)內(nèi)容;
  1. 刪除鏡像:
dokcer rmi 鏡像名:tag  
//或者
docker image rm 鏡像名:tag
//加 -f 或者 -force 強(qiáng)制刪除鏡像;
//加 -no-prune 不要刪除未帶標(biāo)簽的父鏡像;
  1. 清理殘存的、沒有使用的鏡像文件:
docker image prune  
#加 -f 或者 -force 強(qiáng)行刪除文件,無需彈出確認(rèn);
#加 -a 或者 -all 刪除所有沒有用的鏡像,不僅僅是臨時文件;

三、docker容器相關(guān)命令

  1. 創(chuàng)建容器:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]  
// -i, --interactive=false: 以交互模式運(yùn)行容器,通常與 -t 同時使用;
// -t, --tty=false: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
// -d, --detach=false: 后臺運(yùn)行容器,并返回容器ID;
// -p, --publish=[]: 指定端口映射,格式為:主機(jī)(宿主)端口:容器端口;
// --name="容器名": 為容器指定一個名稱;
// -h , --hostname="host名": 指定容器的hostname;
// -e , --env=[]: 設(shè)置環(huán)境變量;
// --net="bridge": 指定容器的網(wǎng)絡(luò)連接類型,支持 bridge/host/none/container: 四種類型;
// -v, --volume : 綁定一個卷;
// --privileged=false: 指定容器是否為特權(quán)容器,特權(quán)容器擁有所有的capabilities;
// --restart=no:指定容器停止后的重啟策略;
//           no:容器退出時不重啟;
//           on-failure:容器故障退出(返回值非零)時重啟;
//           always:容器退出時總是重啟(一般選擇此參數(shù));
// --rm=false: 指定容器停止后自動刪除容器,不能以docker run -d啟動的容器;

eg:創(chuàng)建mysql容器

docker run -p 3306:3306 --name mysql \
-v /home/mysql/conf:/etc/mysql \
-v /home/mysql/logs:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=root密碼 \
-d mysql:5.7
  1. 獲取容器日志:
docker logs [OPTIONS] CONTAINER
// -f: 跟蹤日志輸出;
// --tail:僅列出最新N條容器日志;
  1. 刪除容器:
docker rm [OPTIONS] CONTAINER [CONTAINER...] 
// -f:通過 SIGKILL 信號強(qiáng)制刪除一個運(yùn)行中的容器;
// -l:移除容器間的網(wǎng)絡(luò)連接,而非容器本身;
// -v:刪除與容器關(guān)聯(lián)的卷;
  1. 列出容器:
docker ps [OPTIONS]
// -a:顯示所有的容器,包括未運(yùn)行的;
// -q:只顯示容器編號;
  1. 啟動、停止、重啟容器:
docker start CONTAINER    //啟動一個或多個已經(jīng)被停止的容器
docker stop CONTAINER    //停止一個運(yùn)行中的容器
docker restart CONTAINER    //重啟容器
  1. 進(jìn)入容器:
docker exec -it CONTAINER bash 
//或者
docker exec -it CONTAINER /bin/bash 
//或者
docker exec -it CONTAINER sh 
  1. 獲取容器元數(shù)據(jù):
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
// -f:指定返回值的模板文件
// -s:顯示總的文件大小
// --type:為指定類型返回JSON
  1. 復(fù)制文件:
//宿主機(jī)文件復(fù)制到容器內(nèi)
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
//容器內(nèi)文件復(fù)制到宿主機(jī)
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH

// -L:保持源目標(biāo)中的鏈接
  1. 清理數(shù)據(jù)卷:
docker volume prune

ps:如果安裝docker時忘記設(shè)置docker鏡像倉庫地址,則需要在/etc/docker目錄下新增或者修改daemon.json文件,樣例文件如下:

{
  "registry-mirrors": ["https://kuamavit.mirror.aliyuncs.com", "https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn"],
  "max-concurrent-downloads": 10,
  "storage-driver": "overlay2",
  "graph": "/data/docker",
  "log-driver": "json-file",
  "log-level": "warn",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
    }
}

然后保存退出,重啟docker
systemctl restart docker
參考文章

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容