说明
容器是docker又一核心概念,容器的运行基于镜像之上,是独立运行的一个或一组应用
启动容器
启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是启动停止状态的容器
-
新建并启动
命令:docker run
- 输出hello world,然后终止容器
[root@localhost ~]# docker run centos /bin/echo 'hello world'
- 进入docker容器,在终端交互
[root@localhost ~]# docker run -it centos
- 容器停止后自动删除容器
[root@localhost ~]# docker run -it --rm centos
解释
-it:是两个参数,-i 让容器的标准输入保持打开,-t让docker分配一个伪终端
--rm:容器退出,自动删除,可通过docker ps -a查看docker 使用run启动容器时的步骤:
- 检查本地是否存在指定的镜像,没有就从公有仓库下载
- 分配一个文件系统,在只读层的镜像层外面再挂载一个读写层
- 从宿主机桥接一个虚拟接口道容器中去
- 从地址池分配一个ip地址给容器
- 执行用户指定的程序
- 执行完毕后终止容器
-
启动已终止的容器
[root@localhost ~]# docker start xxx
-
后台运行
docker默认是在前台运行,会将输入直接打印到当前宿主机,更多情况下需要将容器放后台运行,使用docker logs CONTAINER查看输出内容[root@localhost ~]# docker run docker run --name nginx_v3 -d -p 80:80 nginx:v3
终止容器
docker stop
导出导入容器
-
导出容器
命令:docker export
[root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0b7c70f3f7ba nginx:v3 "nginx -g 'daemon ..." 23 hours ago Exited (0) 23 hours ago nginx_v3 [root@localhost ~]# docker export 0b7c70f3f7ba > nginx_v3.tar
-
导入容器
命令:docker import
- 从本地文件导入
[root@localhost ~]# docker import nginx_v3.tar nginx:v4 sha256:e4d7efa6c90b4465a4d50b9e2a02b39da5f9d2fe127687aa0ddd4669309bfecf [root@localhost mynginx]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx v4 e4d7efa6c90b 54 seconds ago 717 MB
- 从RUL导入
[root@localhost ~]# docker import http://example.com/test.tgz example
删除容器
命令:docker rm
清楚所有处于终止状态的容器
[root@localhost ~]# docker rm $(docker ps -a -q)
docker 默认不会删除正在运行的容器
网友评论