第六章-容器-二

容器的操作案例

容器的基本操作

拉取的同时启动一个容器。

查看容器的信息,查看是否运行正常。

清理一个容器。

容器的状态迁移

创建容器。

此时状态是Created

现在是运行态。

当然,我们还可以做各种操作,让他暂停,启动等等。

容器批量处理技巧

容器的批量搜索

命令解释
docker container ls -qf name=xxx根据名称过滤得到容器编号
docker container ls --filter status=running根据状态过滤容器信息
docker container ls -aq静默获取全部容器id
docker container ls --filter ancestor=xxx过滤镜像名为xxx的容器信息

先启动一些容器,做一些准备先。

停掉一个。

开始过滤。

过滤名字为mynginx003的容器。

过滤正在运行的容器。

过滤镜像是nginx:1.21.4的容器。

-q就是只返回id

容器批量操作

我们拿到这个id之后,就可以对容器进行批量的操作了。

容器交互模式

attached模式

日志全部打印到bash上了,而且此时^C或者断网,容器都会退出。

attach模式一般不能用于生产环境,一般用于生产环境。

detached模式

不受bash的影响,在后台运行,是一个守护进程。

那么如何查看后台运行容器的日志呢?

attach到一个detached运行的容器上

此时这个容器就变成前台运行了。

interactive模式

交互模式。

但此时这个nginx是没有启动的,我们需要在容器的bash里面手动启动一下。

当然,也可以用docker exec命令,去和一个后台运行的容器进行交互。

容器与宿主机内容拷贝

我们先从把容器内部的index.html拷贝到宿主机上,然后在宿主机上经过一定修改之后,再拷贝回容器里面去。

先启动一个容器。

在容器里面找到这个index.html

把东西拷贝到本地。

给标题做一个修改。

拷贝回去。

现在再访问一下看看。

已经完成了修改。

注意:不支持在容器之间互相拷贝文件。

容器自动删除

带上--rm选项

此时我们发现,已经自动删除了。

--rm选项在工作时一定要慎用,万一容器停了,东西就没了。

容器自动重启

容器重启选项如下:

如果容器启动时没有设置–restart 参数,则通过下面命令进行更新:

容器环境变量设置

前面学命令的时候提到过了,-e选项可以设置环境变量。

如果要设置多个,可以有两种办法。

设置配置文件。

容器详情查看

容器执行单行命令

我们可以直接借助 docker 的容器环境执行一些命令,比如容器中有某个命令而宿主机上没有这个时候借助容器可以完成某些任务。

容器镜像导入导出

docker exportdocker import

docker savedocker load

容器日志查看

可见docker logs命令详解。

容器资源查看

可见docker topdocker stats都命令详解。