Docker常用命令说明(总结)

获取镜像:

1
2
3
4
sudo docker pull ubuntu #(ubuntu:latest,获取最新版本的镜像)
sudo docker pull ubuntu:14.04 #(指定标签来下载指定版本的镜像)
sudo docker pull registory.hub.docker.com/ubutu:latest #(相当于以上两个命令的组合)
sudo docker pull dl.dockerpoll.com:5000/ubuntu #从dl.dockerpoll.com下载镜像

利用镜像创建容器,在其中运行bash:

1
sudo docker run -t -i ubuntu /bin/bash

查看本地已有镜像:

1
2
sudo docker images
sudo docker images -a

创建新的标签:

#(使用docker tag创建新的标签d.dockerpoll.com:5000/ubuntu:latest

1
2
3
sudo docker tag d.dockerpoll.com:5000/ubuntu:latest ubuntu:latest
sudo docker inspect image id #查看镜像的详细信息,json格式
sudo docker inspect -f {{.Architecture}} 550 #查看其中的一项信息

搜索镜像:

1
2
sudo docker search #搜索远端仓库中共享的镜像,默认搜索docker Hub官方仓库的镜像
sudo docker search mysql

删除镜像:

1
2
3
sudo docker rmi IMAGE
sudo docker rmi dl.dockerpool.com:20000/ubuntu
sudo docker rmi -f ubuntu #强制删除镜像(有容器在运行时和存在要删除的镜像容器一般删除不了)

不推荐强制删除镜像,正确的做法是,先删除镜像的容器然后在删除镜像

1
sudo docker ps -a    #查看本机上存在的所有容器

创建镜像:(3种)

#1.基于已有镜像的容器创建 基于本地模板导入
#2.基于Dockerfile创建
#3.基于已有镜像的容器创建:

1
sudo docker run -ti ubuntu:14.04 /bin/bash #(基于ubuntu14.04创建)

记住容器ID xxxxx

1
sudo docker commit -m"Added a new file" -a "docker newbee" xxxxx test #test是tag

基于本地模板导入:

1
sudo cat ubuntu-14.04-x86_64-minimal.tar.gz | docker import - ubuntu:14.04

存入和载入镜像

1
2
存入镜像:sudo docker save -o ubuntu_14.04.tar ubuntu:14.04
载入镜像:sudo docker load -input ubuntu_14.04.tar 或者 sudo docker load < ubuntu_14.04.tar

上传镜像:

1
2
sudo docker tar test:latest user/test:latest
sudo docker push user/test:latest

新建容器

1
2
3
4
5
sudo docker create -it ubuntu:latest
sudo docker ps -a
sudo docker start
sudo docker run ubuntu /bin/echo 'hello world'
sudo docker run -t -i ubuntu:14.04 /bin/bash

(启动一个bash终端,允许用户进行交互),
-t: 让docker分配一个伪终端,并绑定到容器的标准输入上
-i:让容器的标准输入保持打开

终止容器:

1
2
3
4
sudo docker stop ce5
sudo docker ps -a -q#查看终止状态的容器ID信息
sudo docker start ce5#启动终止状态的容器
sudo docker restart ce5#启动终止状态的容器

进入容器:

1
sudo docker exec -ti 容器ID /bin/bash

删除容器:

1
2
3
sudo docker ps -a
sudo docker rm 容器ID
sudo docker rm -f 容器ID

导入和导出容器:

1
2
sudo docker export ce5>test_for_run_tar
cat test_for_run_tar | sudo docker import - test/ubuntu:v1.0