docker使用技巧

01.安裝Docker

curl -sSL https://get.docker.com/ | sh

centos6 epel
yum install -y  docker-io

centos 7
yum install -y docker-engine

service docker start
service docker stop
service docker restart

02.查看Docker信息

docker info
文件位置 /var/lib/docker

03.查找鏡像

官方網(wǎng)站查找 https://hub.docker.com/
docker search centos(鏡像名稱)
--automated 自動(dòng)化選項(xiàng)
--no-trunc  顯示完全I(xiàn)D
-s          最低星級 25個(gè)結(jié)果

04.查看3星級的鏡像

docker search -s 3 centos  

05.拉取鏡像

docker pull <鏡像名稱>:<標(biāo)簽>
docker pull  centos
-a 所有鏡像
docker daemon啟動(dòng)參數(shù) "--insecure-registry=0.0.0.0/0"

06.使用自定義鏡像站點(diǎn)修改

/etc/default/docker
DOCKER_OPTS="--REGISTRY-MIRROR=https://www.daocloud.io"
docker daemon啟動(dòng)參數(shù) "--insecure-registry=0.0.0.0/0"

07.列出鏡像

docker images
-a         顯示所有鏡像 
-f         過濾條件
-no-trunc  顯示完全I(xiàn)D 
-q         唯一ID

08.使用run創(chuàng)建容器

docker run <選項(xiàng)><鏡像名稱><要運(yùn)行的文件>
docker run  -dti -p 80:80 -v /root/data:/data hello:1.0 --name hello-nginx
docker run -d -p 8000:8000 --restart=always --name ngng -v /data/registry:/var/lib/registry registry:2
后臺運(yùn)行容器 容器端口:宿主機(jī)端口 容器異常重新啟動(dòng) 啟動(dòng)容器名稱 位置映射、宿主機(jī)位置:容器位置 鏡像名稱或者ID

-d 后臺運(yùn)行
-i(interactive)、-t(Pseudo-tty)運(yùn)行Bash shell中進(jìn)行輸入輸出
--name 指定容器名稱,若不指定則自動(dòng)生成
-p 主機(jī)端口與容器端口連接,并暴露到外部
-v 主機(jī)/root/data目錄連接到容器的/data目錄

09.查看容器列表

docker ps
-a 顯示所有的容器

10.使用start命令啟動(dòng)容器

docker start <容器名稱> 或 容器ID
docker start hello

11.重啟容器

docker restart <容器名稱> 或 容器ID
docker restart hello

12.使用attach命令連接容器

docker attach <容器名稱> 或 容器ID
docker attach hello(NAMES)

注意:
     在Bash shell中輸入 Ctrl + D 或者 exit,表示停止并退出docker容器。
     若依次輸入Ctrl + P、Ctrl + Q,則不會(huì)終止容器而只是推出。

13.使用exec命令從外部運(yùn)行容器內(nèi)的命令

docker exec <容器名稱><命令><形式參數(shù)>
docker exec -ti 容器ID
docker exec registry    ip add

14.停止容器

docker stop <容器名稱> 或 容器ID
docker ps
docker stop hello

15.刪除容器

docker rm <容器名稱> 或 容器ID
docker rm hello
docker ps -a

16.刪除鏡像

docker rmi <鏡像名稱>:<標(biāo)簽> 或 容器ID
docker rmi hello
-f 強(qiáng)制刪除 
--no-trunc 刪除沒有標(biāo)簽的

# 刪除所有鏡像
docker rmi $(docker images -qa)

17.使用build命令創(chuàng)建鏡像

docker build <選項(xiàng)><Dockerfile路徑>
docker build --tag hello:1.0

18.使用cp復(fù)制文件

docker cp <容器名稱>:<路徑> <主機(jī)路徑>
docker cp 2e52e426f849:/etc/hosts ./
docker cp fervent_lumiere:/etc/host.conf /opt/

成都創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為武鳴等服務(wù)建站,武鳴等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為武鳴企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

19.使用history命令查看鏡像歷史

docker history <鏡像名稱>:<標(biāo)簽> 或 容器ID
docker history hello:1.0
docker history tobegit3hub/seagull:latest

20.從容器的修改中創(chuàng)建鏡像 commit

docker commit <選項(xiàng)> <容器名稱> <鏡像名稱>:<標(biāo)簽>
docker commit -a "chengfeng <chengfeng56@qq.com>" -m "add hello.txt" fervent_lumiere tobegit3hub/seagull:latest

21.使用diff命令檢查容器文件的修改

docker diff <容器名稱> 或 容器ID
docker diff hello-nginx
A 為添加的文件
C 為修改的文件
D 為刪除的文件

22.命令查看inspect詳細(xì)信息

docker inspect <鏡像或者容器名稱>
docker inspect hello-nginx

23.拉取鏡像到本地

docker tag <鏡像名稱>:<標(biāo)簽> <Docker registry URL>/<鏡像名稱>:<標(biāo)簽>
docker tag hello:1.0 localhost:5000/hello:1.0
docker pull registry:latest
docker run -d -p 5000:5000 --name hello-registry -v /tmp/registry:/tmp/registry registry
運(yùn)行后,鏡像文件存儲到主機(jī)的/tmp/registry目錄。

24.推送鏡像

docker push <Docker registry URL>/<鏡像名稱>:<標(biāo)簽>
docker push localhost:5000/hello:1.0

25.刪除標(biāo)簽

docker rmi <Docker registry URL>/<鏡像名稱>:<標(biāo)簽>
docker rmi dev.dockcloud.cn/busybox:0.1

26.查看日志

docker logs <容器名稱或ID>

27.查看運(yùn)行狀態(tài)

docker stats <容器名稱或ID>

28.查看top

docker top <容器名稱或ID>

29.查看映射端口

docker port <容器名稱或ID>

30.更新容器信息

docker update <容器名稱或ID>

31.保存容器成tar文件

docker export <容器名稱或ID>

32.將tar文件導(dǎo)入到鏡像列表

docker import <容器名稱或ID>

33.把容器保存成鏡像

docker commit 運(yùn)行中docker ID
-a 添加作者
-m 描述

34.將鏡像保存成tar文件

docker save 鏡像 ID
# 保存鏡像id
docker tag 56d3dc08212d registry.chinadaas.com/pubilc/elasticsearch:6.3.0

# 保存標(biāo)簽
docker save -o elastic.tar.gz registry.chinadaas.com/pubilc/elasticsearch:6.3.0

35.加載tar鏡像文件

docker load 鏡像 ID

36.外掛卷 volumes

docker run -dti -v /web-data:/tmp:ro --name data-container app
docker run -dti --volumes-from data-container --name web-container apps
docker run -dti --volumes-from data-container --name web2-container apps
# -v 宿主機(jī)目錄:容器目錄

37.容器卷管理

容器卷 主機(jī)卷
docker鏡像
通過docker build -t . 執(zhí)行 dockerfile文件制作

FROM centos:7
RUN yum install -y epel-release && \
    yum install -y nginx && \
    yum clean all
EXPOSE 80 443
CMD ["nginx", "-g", "daemon off;"]

容器卷
FROM centos:7
RUN yum install -y epel-release && \
    yum install -y nginx && \
    yum clean all
EXPOSE 80 443
VOLUME ["/usr/share/nginx/html"]
CMD ["nginx", "-g", "daemon off;"]

刪除帶容器卷的容器
docker rm -f -v 容器ID

38.一次性刪除所有的容器

docker rm $(docker ps -q -a) 

39.一次性刪除所有的鏡像

docker rmi $(docker images -q) 

40.刪除停止的容器

docker rm $(docker ps -a -q -f status=exited)

41.刪除沒有標(biāo)簽的鏡像

docker rmi -f $(docker images |grep "<none>" | awk "{print \$3}")

42.配置docker-enter管理docker容器

在環(huán)境變量內(nèi)添加
cat >> /root/.bashrc << EOF
# set docker-enter
alias docker-pid="sudo docker inspect --format '{{.State.Pid}}'"
alias docker-ip="sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}'"
function docker-enter() {
if cpid=`docker-pid $1`;then
sudo nsenter --target $cpid --mount --uts --ipc --net --pid
fi
}
EOF

source  /root/.bashrc

43.主機(jī)卷

docker run -dti -p 80:80 --name app -v /web-data:/tmp app
docker run -dit -p 8080:80 --name apps -v /web-data:/tmp apps

44.備份數(shù)據(jù)

docker run --rm --volumes-from dbdata -v $(pwd):/backup centos tar cvf /backup/backup.tar /dbdata

45.數(shù)據(jù)恢復(fù)

docker run --rm --volumes-from dbdata2 -v $(pwd):/backup centos bash -c "cd /dbdata && tar xvf  /backup/backup.tar --strip 1"

46.container-none網(wǎng)絡(luò)模式

docker run -dit --name busybox1 busybox:latest
docker run -dti --name busybox2 --net=container:busybox1 busybox sh

47. 連接容器

docker run -dti --name db mongo
docker run -dit --name web -p 80:80 --link db:db nginx

本文名稱:docker使用技巧
地址分享:http://muchs.cn/article16/gecddg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、自適應(yīng)網(wǎng)站、App開發(fā)、網(wǎng)站維護(hù)、軟件開發(fā)靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)