三、容器操作

本文介绍了如何操作Docker容器,包括启动新容器、重启已终止的容器、守护态运行、终止容器以及进入容器的方法。推荐使用`dockerexec`命令而非`attach`,因为从stdin中exit不会导致容器停止。还讲述了如何导出和导入容器,以及删除和清理终止状态的容器。
摘要由CSDN通过智能技术生成

4.操作容器

容器是镜像的实例,有独立的运行环境,Docker不是虚拟机,容器就是进程

4.1启动容器

4.1.1新建容器并启动

如果没有该镜像,会去自动拉取该镜像

#指令格式
docker [可选项1] 软件名[:标签(指定版本)] [bash]
#可选项
-t:让Docker分配一个伪终端并绑定到容器标准输出上
-i:让容器标准输出一直打开
#bash
启动交互式终端,我们基于可以像在shell中输入命令一样,在容器中输入
#例子
docker run -t -i ubuntu:18.04 bash

在这里插入图片描述

4.1.2 启动被终止的容器

#查看容器状态
docker ps -a

在这里插入图片描述

#启动容器 格式
docker start 容器ID
#重启容器
docker restart 容器ID
#例子
docker start 396fdbb1ed29 

在这里插入图片描述

4.2守护态运行

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

#格式
docker run -d 镜像ID(通过docker image l获得,不是docker ps(是查看容器))
#例子
docker image ls #查看镜像ID
docker run -d 3941d3b032a8 

在这里插入图片描述查看容器信息

docker container ls

在这里插入图片描述查看容器输出信息

docker container logs [container ID or NAMES]

4.3终止

终止容器

docker container ls #查看容器ID
docker container stop 容器ID

在这里插入图片描述PS:
只启动了一个终端的容器,用户通过 exit 命令或 Ctrl+d 来退出终端时,所创建的容器立刻终止。

查看已经终止的容器

docker container ls -a

在这里插入图片描述处于终止状态的容器,可以通过 docker container start 命令来重新启动。

4.4 进入容器

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

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

4.4.1 attach命令

#运行容器
docker image ls  #查看镜像ID
docker run 3941d3b032a8  #run后面跟的是镜像ID
docker container ls #查看运行的容器 其容器ID
docker attach ae6f32220fd1 # attach后跟 容器ID
#此时进入容器

#输入exit退出容器,而且容器会终止

在这里插入图片描述

4.4.2 exec命令

docker exec 后边可以跟多个参数,这里主要说明 -i -t 参数。

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

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

#运行容器
docker image ls  #查看镜像ID
docker run 3941d3b032a8  #run后面跟的是镜像ID
docker container ls #查看运行的容器 其容器ID
docker exec -it ae6f32220fd1 bash # exec后跟 容器ID
#此时进入容器

#输入exit退出容器,而且容器会终止

在这里插入图片描述如果从这个 stdin 中 exit,不会导致容器的停止。这就是为什么推荐大家使用 docker exec 的原因。

4.5 导出和导入

4.5.1 导出容器

如果要导出本地某个容器,可以使用 docker export 命令。

#查看已经停止的容器
docker container ls -a
#创建要导出后保存的文件夹
mkdir 文件夹名
#进入文件夹
cd 文件夹名

#导出   格式  docker export 容器ID > 导出后的名称.tar
ocker export 396fdbb1ed29 >ubuntu.tar
#然后在该文件夹中,发现导出文件,说明确实导出成功

在这里插入图片描述

4.5.2 导出容器快照

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

#格式 docker import 文件/url(最后结尾是.tar文件) 软件名:标签
docker import  ubuntu.tar  test:new

在这里插入图片描述PS:用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import 来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。

4.6 删除容器

4.6.1删除容器

可以使用 docker container rm 来删除一个处于终止状态的容器

#查看所有容器
docker container ps -a
#删除容器 
#格式
docker container rm 容器名字或容器ID
#例子
docker container rm trusting_newton

在这里插入图片描述

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

用 docker container ls -a 命令可以查看所有已经创建的包括终止状态的容器,如果数量太多要一个个删除可能会很麻烦,用下面的命令可以清理掉所有处于终止状态的容器

#查看所有已经创建的包括终止状态的容器
docker container ls -a 
#清理掉所有处于终止状态的容器
docker container prune

在这里插入图片描述更多内容,请微信搜索关注公众号:MiaoA知识
这个公众号所有分享知识免费,希望你可以从中学到一些知识,感叹到这个公众号的奇妙

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值