1,目的
總結(jié)Docker常用命令,便于梳理和鞏固對(duì)Docker的學(xué)習(xí),也便于能夠研究Docker更深層面的技術(shù)實(shí)現(xiàn)。
2,倉庫相關(guān)
$ docker search $KEY_WORD # 查找鏡像
$ docker pull $REGISTRY:$TAG # 獲取鏡像
$ docker push $IMAGE_NAME:$IMAGE_TAG # 推送鏡像到倉庫,需要先登錄
$ docker login $REGISTRY_URL # 登錄倉庫
$ docker logout $REGISTRY_URL # 退出倉庫
$ docker info # 顯示Docker詳細(xì)的系統(tǒng)信息,可查看倉庫地址
$ docker --help # 顯示Docker的幫助信息
3,容器相關(guān)
$ docker attach $CONTAINER_ID # 啟動(dòng)一個(gè)已存在的docker容器
$ docker stop $CONTAINER_ID # 停止docker容器
$ docker start $CONTAINER_ID # 啟動(dòng)docker容器
$ docker restart $CONTAINER_ID # 重啟docker容器
$ docker kill $CONTAINER_ID # 強(qiáng)制關(guān)閉docker容器
$ docker pause $CONTAINER_ID # 暫停容器
$ docker unpause $CONTAINER_ID # 恢復(fù)暫停的容器
$ docker rename $CONTAINER_ID # 重新命名docker容器
$ docker rm $CONTAINER_ID # 刪除容器
$ docker logs $CONTAINER_ID # 查看docker容器運(yùn)行日志,確保正常運(yùn)行
$ docker inspect $CONTAINER_ID # 查看container的容器屬性,比如ip等等
$ docker port $CONTAINER_ID # 查看container的端口映射
$ docker top $CONTAINER_ID # 查看容器中正在運(yùn)行的進(jìn)程
$ docker commit $CONTAINER_ID $NEW_IMAGE_NAME:$NEW_IMAGE_TAG # 將容器保存為鏡像
$ docker ps -a # 查看所有容器
$ docker stats # 查看容器的資源使用情況
4,鏡像相關(guān)
$ docker images # 查看本地鏡像
$ docker rmi $IMAGE_ID # 刪除本地鏡像
$ docker inspect $IMAGE_ID # 查看鏡像詳情
$ docker save $IMAGE_ID > 文件路徑 # 保存鏡像為離線文件
$ docker save -o 文件路徑 $IMAGE_ID # 保存鏡像為離線文件
$ docker load < 文件路徑 # 加載文件為docker鏡像
$ docker load -i 文件路徑 # 加載文件為docker鏡像
$ docker tag $IMAGE_ID $NEW_IMAGE_NAME:$NEW_IMAGE_TAG # 修改鏡像TAG
$ docker run 參數(shù) $IMAGE_ID $CMD # 運(yùn)行一個(gè)鏡像
$ docker history $IMAGE_ID # 顯示鏡像每層的變更內(nèi)容
5,run命令相關(guān)
# -d,后臺(tái)運(yùn)行容器, 并返回容器ID;不指定時(shí), 啟動(dòng)后開始打印日志, Ctrl+C退出命令同時(shí)會(huì)關(guān)閉容器
# -i,以交互模式運(yùn)行容器, 通常與-t同時(shí)使用
# -t,為容器重新分配一個(gè)偽輸入終端, 通常與-i同時(shí)使用
# --name container_name,設(shè)置容器名稱, 不指定時(shí)隨機(jī)生成
# -h container_hostname,設(shè)置容器的主機(jī)名, 默認(rèn)隨機(jī)生成
# --dns 8.8.8.8,指定容器使用的DNS服務(wù)器, 默認(rèn)和宿主機(jī)一致
# -e docker_host=172.17.0.1,設(shè)置環(huán)境變量
# --cpuset="0-2" or --cpuset="0,1,2",綁定容器到指定CPU運(yùn)行
# -m 100M,設(shè)置容器使用內(nèi)存最大值
# --net bridge,指定容器的網(wǎng)絡(luò)連接類型, 支持bridge/host/none/container四種類型
# --ip 172.18.0.13,為容器指定固定IP(需要使用自定義網(wǎng)絡(luò)none)
# --expose 8081 --expose 8082,開放一個(gè)端口或一組端口,會(huì)覆蓋鏡像設(shè)置中開放的端口
# -p [宿主機(jī)端口]:[容器內(nèi)端口],宿主機(jī)到容器的端口映射,可指定宿主機(jī)的要監(jiān)聽的IP,默認(rèn)為0.0.0.0
# -P,注意是大寫的, 宿主機(jī)隨機(jī)指定一組可用的端口映射容器expose的所有端口
# -v [宿主機(jī)目錄路徑]:[容器內(nèi)目錄路徑],掛載宿主機(jī)的指定目錄(或文件)到容器內(nèi)的指定目錄(或文件)
# --add-host [主機(jī)名]:[IP],為容器hosts文件追加host, 默認(rèn)會(huì)在hosts文件最后追加[主機(jī)名]:[容器IP]
# --volumes-from [其他容器名],將其他容器的數(shù)據(jù)卷添加到此容器
# --link [其他容器名]:[在該容器中的別名],添加鏈接到另一個(gè)容器,在本容器hosts文件中加入關(guān)聯(lián)容器的記錄,效果類似于--add-host