Docker常用命令

镜像(Images)

下载镜像:

1 docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

例如:(如果不写标签号,则默认为lastest)

1 docker pull ubuntu:16.04

查找镜像:

1  docker search httpd

查看下载的镜像:

1 docker images

删除镜像:

1 docker rmi image_name
2 docker image rm 镜像id或镜像名
3 docker image prune 或是 docker rmi $(docker images -q -f dangling=true)  #两个命令都是删除<none>的虚悬镜像,但是后者更方便

根据镜像启动容器:

1  docker run -it --rm ubuntu:16.04 bash
2  docker run --name 自定义容器名 ubuntu      #  --name  启动容器时并设置一个容器名
3  docker run -d ubuntu                     #   -d参数  后台启动容器  
4  docker run -v 宿主机文件目录:容器文件目录 tomcat   #  -v  即data volume ,数据卷,容器直接访问存在宿主机下的文件,跳过ufs,实现容器数据持久化
  • -it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。
  • --rm:这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 * --rm 可以避免浪费空间。
  • ubuntu:16.04:这是指用 ubuntu:16.04 镜像为基础来启动容器。
  • bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash。
  • --name 命名
  • --d 后台启动
  • -v 启用数据卷,多个容器可以共享该文件,实现容器数据持久化
  • 多个参数可以搭配共用

容器(containers)

查看正在运行的容器:

1 docker ps 

查看所有容器:

1 docker ps -a
2 docker container ls -a     

动态查看容器日志:

1 docker logs -f con_name

进入容器:

1 docker exec -it 容器Id bash  #以交互的方式进入容器

退出容器:

1 # 方法一
2 exit
3 # 方法二
4 ctrl+p && ctrl+q (一起按,注意顺序,退出后容器依然保持启动状态)

删除容器:

1 docker rm  con_name    #强制删除加 -f
2 docker container prune #删除已经停止了的容器

查看容器Pid:

1 docker top con_name

重启容器

1 docker restart 容器ID或容器名

停止容器(进程)运行

1 docker stop 容器名或ID

从主机复制文件到容器

1 docker cp host_path containerID:container_path

从容器复制文件到主机

1 docker cp containerID:container_path host_path

数据卷(Data Volume)

查看所有数据卷

1 docker volume ls

删除指定数据卷

1 docker volume rm [volume_name]

待补充.....
参考文档点这里