启动容器 docker run
- docker 的容器是镜像的一个运行实例。
- docker 镜像是只读文件,而容器则带有运行时的可读写层,而且容器中的应用进程处于运行状态。
- docker run :创建一个新的容器并运行一个命令
1 | docker run [OPTIONS] IMAGE [COMMAND] [ARG...] |
1 | # 如果不执行命令,那么容器使用的镜像名 在最后 |
查看运行的容器 docker ps
1 | [root@linux-node1 ~]# docker ps |
显示所有 -a
1 | # 现在执行exit 就退出bash 容器也跟着退出了,因为进程结束了,容器也结束了 |
显示ID -q
1 | [root@linux-node1 ~]# docker ps -aq |
启动容器 docker start
1 | [root@linux-node1 ~]# docker ps -a |
查看容器的详细信息 docker inspect
1 | # 查看所有 |
查看容器运行情况 docker top
1 | [root@linux-node1 ~]# docker top 0dc9c214c2c9 |
停止容器 docker stop
1 | [root@linux-node1 ~]# docker ps -a |
删除容器 docker rm
先关闭容器,再删除容器1 | [root@linux-node1 ~]# docker stop mycentos |
1 | # 强制删除容器 |
批量删除容器
生产环境谨慎使用1 | # 只删除关闭状态的 |
进入容器
- 进入容器的三种方法:attach(不推荐)、exec、
1 | * 和虚拟机不同 你不能进去 再执行新的东西,因为docker的理念和虚拟机不同 |
attach
- 进入到存活的容器中
- 如果再开一个窗口进来,操作是同步的,就像远程控制,单用户模式
- exit 就会推出, 生产不会使用这个命令
1 | [root@linux-node1 ~]# docker start mycentos |
exec
- 对运行的容器执行指定命令
- 不想进入,让容器执行命令并返回结果
1 | -d:在后台运行命令 |
1 | [root@linux-node1 ~]# docker exec mycentos ps -aux |
退出并不停止 docker
- crtl 先p 再q
1 | # 交互式进入容器 -it |
nsenter
- nsenter 生产使用
- 即使exit 也不会关闭容器
1 | 1. 安装 |
查看日志 docker logs
1 | 1. 启动一个nginx:1.4的容器 |
copy容器文件 docker cp
- 该命令支持在容器和主机之间复制文件。
1 | -a, -archive: 打包模式, 复制⽂件会带有原始的uid/gid信息; |
1 | # 服务器向容器copy文件 |
1 | # copy容器的文件下来 |
查看端口映射 docker port
1 | [root@linux-node1 ~]# docker port web1 |
容器的导入和导出
导出容器
1 | # 导出后的容器就可以直接复制到其他机器上导入运行了 |
导入容器
1 | [root@linux-node1 ~]# docker import web1.tar test/nginx:1.6.test |
总结容器的使用操作
- docker run 参数 镜像名 执行命令
- 进入容器的三种方
- 一图总结对容器的操作命令:

