您的位置:首页 > 运维架构 > Docker

Docker 操作容器

2017-11-28 16:53 603 查看

容器

容器是独立运行的一个或一组应用,以及它们的运行态环境。

容器=镜像+读写层

Docker 在 1.13 版本中引进了新的管理命令(management commands),在 Docker 1.13+ 推荐使用 docker container 子命令来管理 Docker 容器。

启动容器

启动容器有两种方式:

一种是基于镜像新建一个容器并启动,

一个是将在终止状态 (stopped)的容器重新启动。

新建并启动

所需要的命令主要为 docker run

下面的命令则启动一个 bash 终端,允许用户进行交互。

$ docker run -t -i ubuntu:14.04 /bin/bash


-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,

-i 则让容器的标准输入保持打开。

启动已终止容器

可以利用 docker start 命令,直接将一个已经终止的容器启动运行。

Docker 1.13+

在 Docker 1.13+ 版本中推荐使用 docker container 来管理容器。

$ docker container run ubuntu:17.10 /bin/echo 'Hello world'

$ docker container start


守护态运行

后台(background)运行

更多的时候,需要让 Docker 在后台运行而不是直接把执行命令的结果输出在当前宿主机下。 此时,可以通过添加 -d 参数来实现。

要获取容器的输出信息,可以通过 docker logs 命令。

Docker 1.13+

在 Docker 1.13+ 版本中推荐使用 docker container 来管理镜像。

$ docker container run -d

$ docker container ls

$ docker container logs


终止容器

可以使用 来终止一个运行中的容器。

终止状态的容器可以用 docker ps -a 命令看到。

处于终止状态的容器,可以通过 docker start 命令来重新启动。

此外, docker restart 命令会将一个运行态的容器终止,然后再重新启动它。

进入容器

在使用 -d 参数时,容器启动后会进入后台。

某些时候需要进入容器进行操作,包括使用 docker attach 命令或 docker exec 命令,推荐大家使用 docker exec 命令,原因会在下面说明。

attach命令

docker attach 是 Docker 自带的命令。

$ docker ps

$ docker attach 243c

root@243c32535da7:/#


注意: 如果从这个 stdin 中 exit,会导致容器的停止。

exec 命令

只用 -i 参数时,由于没有分配伪终端,界面没有我们熟悉的 Linux 命令提示符,但命令执 行结果仍然可以返回。

当 -i -t 参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符。

$ docker run -dit ubuntu

$ docker ps

$ docker exec -i 69d1 bash


如果从这个 stdin 中 exit,不会导致容器的停止。这就是为什么推荐大家使用 原因。

导出和导入

导出容器

$ docker ps -a

$ docker export 7691a814370e > ubuntu.tar

$ ls


这样将导出容器快照到本地文件(导出到本地哦)。

可以使用 docker import 从容器快照文件中再导入为镜像:

$ cat ubuntu.tar | docker import - test/ubuntu:v1.0

$ docker images


导入容器快照

Docker 1.13+

在 Docker 1.13+ 版本中推荐使用 docker container 来管理容器。

$ docker container export

$ docker image import


删除

$ docker rm


清理所有处于终止状态的容器

Docker 1.13+

在 Docker 1.13+ 版本中推荐使用 docker container 来管理容器。

$ docker container rm trusting_newton

$ docker container prune
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  docker