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
docker info 文件位置 /var/lib/docker
官方網站查找 https://hub.docker.com/ docker search centos(鏡像名稱) --automated 自動化選項 --no-trunc 顯示徹底ID -s 最低星級 25個結果
docker search -s 3 centos
docker pull <鏡像名稱>:<標籤> docker pull centos -a 全部鏡像 docker daemon啓動參數 "--insecure-registry=0.0.0.0/0"
/etc/default/docker DOCKER_OPTS="--REGISTRY-MIRROR=https://www.daocloud.io" docker daemon啓動參數 "--insecure-registry=0.0.0.0/0"
docker images -a 顯示全部鏡像 -f 過濾條件 -no-trunc 顯示徹底ID -q 惟一ID
docker run <選項><鏡像名稱><要運行的文件> 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 後臺運行容器 容器端口:宿主機端口 容器異常從新啓動 啓動容器名稱 位置映射、宿主機位置:容器位置 鏡像名稱或者ID -d 後臺運行 -i(interactive)、-t(Pseudo-tty)運行Bash shell中進行輸入輸出 --name 指定容器名稱,若不指定則自動生成 -p 主機端口與容器端口鏈接,並暴露到外部 -v 主機/root/data目錄鏈接到容器的/data目錄
docker ps -a 顯示全部的容器
docker start <容器名稱> 或 容器ID docker start hello
docker restart <容器名稱> 或 容器ID docker restart hello
docker attach <容器名稱> 或 容器ID docker attach hello(NAMES) 注意: 在Bash shell中輸入 Ctrl + D 或者 exit,表示中止並退出docker容器。 若依次輸入Ctrl + P、Ctrl + Q,則不會終止容器而只是推出。
docker exec <容器名稱><命令><形式參數> docker exec -ti 容器ID docker exec registry ip add
docker stop <容器名稱> 或 容器ID docker ps docker stop hello
docker rm <容器名稱> 或 容器ID docker rm hello docker ps -a
docker rmi <鏡像名稱>:<標籤> 或 容器ID docker rmi hello -f 強制刪除 --no-trunc 刪除沒有標籤的 # 刪除全部鏡像 docker rmi $(docker images -qa)
docker build <選項><Dockerfile路徑> docker build --tag hello:1.0
docker cp <容器名稱>:<路徑> <主機路徑>
docker cp 2e52e426f849:/etc/hosts ./
docker cp fervent_lumiere:/etc/host.conf /opt/html
docker history <鏡像名稱>:<標籤> 或 容器ID docker history hello:1.0 docker history tobegit3hub/seagull:latest
docker commit <選項> <容器名稱> <鏡像名稱>:<標籤> docker commit -a "chengfeng <chengfeng56@qq.com>" -m "add hello.txt" fervent_lumiere tobegit3hub/seagull:latest
docker diff <容器名稱> 或 容器ID docker diff hello-nginx A 爲添加的文件 C 爲修改的文件 D 爲刪除的文件
docker inspect <鏡像或者容器名稱> docker inspect hello-nginx
docker tag <鏡像名稱>:<標籤> <Docker registry URL>/<鏡像名稱>:<標籤> 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 運行後,鏡像文件存儲到主機的/tmp/registry目錄。
docker push <Docker registry URL>/<鏡像名稱>:<標籤> docker push localhost:5000/hello:1.0
docker rmi <Docker registry URL>/<鏡像名稱>:<標籤> docker rmi dev.dockcloud.cn/busybox:0.1
docker logs <容器名稱或ID>
docker stats <容器名稱或ID>
docker top <容器名稱或ID>
docker port <容器名稱或ID>
docker update <容器名稱或ID>
docker export <容器名稱或ID>
docker import <容器名稱或ID>
docker commit 運行中docker ID -a 添加做者 -m 描述
docker save 鏡像 ID # 保存鏡像id docker tag 56d3dc08212d registry.chinadaas.com/pubilc/elasticsearch:6.3.0 # 保存標籤 docker save -o elastic.tar.gz registry.chinadaas.com/pubilc/elasticsearch:6.3.0
docker load 鏡像 ID
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 宿主機目錄:容器目錄
容器卷 主機卷 docker鏡像 經過docker build -t . 執行 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
docker rm $(docker ps -q -a)
docker rmi $(docker images -q)
docker rm $(docker ps -a -q -f status=exited)
docker rmi -f $(docker images |grep "<none>" | awk "{print \$3}")
在環境變量內添加 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
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
docker run --rm --volumes-from dbdata -v $(pwd):/backup centos tar cvf /backup/backup.tar /dbdata
docker run --rm --volumes-from dbdata2 -v $(pwd):/backup centos bash -c "cd /dbdata && tar xvf /backup/backup.tar --strip 1"
docker run -dit --name busybox1 busybox:latest
docker run -dti --name busybox2 --net=container:busybox1 busybox shnginx
docker run -dti --name db mongo
docker run -dit --name web -p 80:80 --link db:db nginx git