1,目的
總結(jié)Docker常用命令掂器,便于梳理和鞏固對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 # 啟動一個(gè)已存在的docker容器
$ docker stop $CONTAINER_ID # 停止docker容器
$ docker start $CONTAINER_ID # 啟動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,后臺運(yùn)行容器, 并返回容器ID掰读;不指定時(shí), 啟動后開始打印日志, Ctrl+C退出命令同時(shí)會關(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è)端口或一組端口移盆,會覆蓋鏡像設(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)會在hosts文件最后追加[主機(jī)名]:[容器IP]
# --volumes-from [其他容器名],將其他容器的數(shù)據(jù)卷添加到此容器
# --link [其他容器名]:[在該容器中的別名]位衩,添加鏈接到另一個(gè)容器裆蒸,在本容器hosts文件中加入關(guān)聯(lián)容器的記錄,效果類似于--add-host