docker 經常使用命令總結

鏡像經常使用操做

提示有權限問題,請在命令前加sudonode

操做 命令 舉例 備註
登陸docker hub docker login -u xxx -p xxx docker login -u 用戶名 -p 密碼
拉取鏡像 docker pull NAME[:TAG] docker pull mysql:5.6
上傳鏡像 docker push NAME[:TAG] docker push mydocker:v1 先登陸
查看本地鏡像 docker images [-a/q] NAME docker images ubuntu a【所有】
q【只顯示ID】
刪除鏡像 docker rmi [-f] IMAGE[:TAG] [IMAGE...] docker rmi mysql:5.6 redis f【強制刪除】
標記鏡像 docker tag SIMAGE TIMAGE docker tag ubuntu:18.10 cool/ubuntu:v1
導出鏡像 docker save -o xxx.tar IMAGE[:TAG] [IMAGE...] docker save -o dockers.tar mysql redis:4.0 能夠一次性導出多個鏡像
導出鏡像並壓縮 docker save IMAGE[:TAG] [IMAGE...]|gzip > xxx.tar.gz docker save mysql:5.7 node:8 gzip > app.tar.gz
導入鏡像 docker load [-i] xxx docker load -i xxx.tar
docker load<xxx.tar.gz
用於鏡像備份

容器經常使用操做

操做 命令 舉例 備註
建立容器 docker run/create [-i/d/t/p/v/-name/-link] IMAGE [COMMAND] docker run --name nginx -p 80:80 -v /data:/data --link redis:redis -d nginx:latest
docker run -it nginx:latest /bin/bash
it【以交互模式運行容器】
p【端口映射,格式爲:主機(宿主)端口:容器端口】
--name【指定容器名稱】
--link【連接其餘容器】
d【後臺運行容器】
v【文件映射 格式爲 本地文件:容器文件】
create只是建立容器並不運行
啓動/中止/重啓容器 docker start/stop/restart CONTAINER [CONTAINER ...] docker start redis nginx
docker start 09b93464c2f7
能夠使用容器名稱或ID,支持一次操做多個容器
刪除容器 docker rm [-f/v] CONTAINER [CONTAINER ...] docker rm nginx f【強制刪除】
v【同時刪除容器映射的本地文件或目錄】
在容器中執行命令 docker exec -it CONTAINER /bin/bash docker exec -it 9df70f9a0714 /bin/bash
查看容器列表 docker ps [-a/n/q] docker ps
docker ps -aq
a【列出全部容器包括中止運行的容器】
n【列出最近建立的n個容器】
q【靜默模式,只顯示容器編號】
容器與主機之間的數據拷貝 docker cp SPATH DPATH docker cp /www/runoob 96f7f14e99ab:/www/
docker cp 96f7f14e99ab:/www /tmp/
不論容器是否在運行,均可拷貝成功
獲取容器/鏡像的元數據 docker inspect IMAGE/CONTAINER docker inspect mysql:5.6
鏈接到正在運行中的容器 docker attach CONTAINER docker attach --sig-proxy=false nginx --sig-proxy=false來確保CTRL-D或CTRL-C不會關閉容器
暫停/取消暫停容器 docker pause/unpause CONTAINER docker pause mysql
從容器建立一個新的鏡像 docker commit [-a/c/m/p] CONTAINER IMAGE[:TAG] docker commit -a "我" -m "修改配置" a404c6c174a2 my-nginx:v1 a【鏡像做者】
c【使用Dockerfile指令來建立鏡像】
m【備註信息】
p【在commit時,將容器暫停】
導出容器 docker export [-o] CONTAINER docker export -o mysql.tar a404c6c174a2
導入容器鏡像 docker import xxx.tar IMAGE[:TAG] docker import nginx-test.tar nginx:imp 使用此方式導入的鏡像,鏡像全部歷史會丟失

docker環境平常維護快捷操做

操做 命令 備註
中止全部運行的容器 sudo docker stop $(sudo docker ps -q)
啓動全部容器 sudo docker start $(sudo docker ps -aq)
刪除全部容器 sudo docker stop $(sudo docker ps -q)&&sudo docker rm $(sudo docker ps -aq) 刪除容器要確保容器處於中止狀態
刪除untagged images鏡像 sudo docker rmi &dollar;(sudo docker images | grep "^<none>" | awk "{print $3}")
刪除全部鏡像 sudo docker rmi $(sudo docker images -q) 刪除鏡像要確保鏡像沒有被容器引用
查看容器IP端口 sudo docker inspect --format='{{.NetworkSettings.IPAddress}}' 99c83edf2af1
相關文章
相關標籤/搜索