docker(三)容器

本文介绍Docker容器的基本概念,包括创建、启动、停止、进入容器的方法及容器的导入导出流程。同时也涵盖了如何管理和操作Docker容器的具体指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.什么是容器
容器是Docker的另一个核心概念。容器是镜像运行的一个实例,所不同的是它带有额外的可写文件层。
二.创建容器
Docker的容器十分轻量级,用户可以随时创建和删除容器。
docker create 命令创建容器
docker create -it centos:latest
使用 docker start 命令启动它。
1.新建并启动容器
启动容器有两种方式:
1)一种是基于镜像新建一个容器并启动 2)启动终止状态(stopped)的容器.  主要命令为docker run 等价与docker create , docker start
docker run 启动容器,Docker在后台操作的包括
1)检查本地是否存在镜像,不存在就从公有仓库下载。
2)利用镜像创建并启动一个容器
3)分配一个文件系统,并在只读的镜像层外面挂载一层可读写层。
4)从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中。
5)从地址池配置一个IP给容器。
6)执行用户指定的应用程序
7)执行完毕容器被终止。
容器使用Ctrl+D 或exit 退出后,容器就自动处于终止状态。容器运行的应用退出后,容器也就没有继续运行的必要了。
三.守护态运行
通过参数 -d参数来实现守护状态形式运行。容器运行后会返回一个唯一ID,也可以通过 docker ps 命令来查看容器信息。
要获取容器的输出信息 docker logs
四.终止容器
docker stop 来终止一个运行中的容器 docker stop [-t|--time[=10]]  它会首先向容器发送SIGTERM信号,等待一段时间后(默认10S)在发送SIGKILL信号终止容器。
当docker容器中指定的应用终极时,容器就自动终止。处于终止的容器通过docker start 命令来启动 docker start 命令还可以将一个运行的容器终止,然后重新启动它。
五.进入容器
当使用 -d(守护运行),容器会进入后台,如果需要进入容器操作可以使用 docket attach命令,docker exec 命令以及 nsenter工具等。
1.attch
docker run -idt  328edcd84f1b   --守护启动
docker ps      --查看容器信息 记住name 下条命令
docker attach sad_goodall sad_goodall为ps查出的name
当多个窗口同时attach到同一个容器时候,所有的窗口都会同步显示,当某个窗口因命令阻塞时,其他窗口也无法执行操作了。
2.exec
可以直接在容器内运行命令  docker exec -ti  47c9cda651db /bin/bash 进入刚刚创建的容器并启动一个bash
3.nsenter工具(2.23版本以后)
使用nsenter链接到容器,需要找到容器PID
PID=$(docker inspect --format "{{.State.Pid}}" <containerID>) 例:PID=$(docker inspect --format "{{.State.Pid}}" 47c9cda651db)
<containerID> ps 查询container_id
nsenter进入容器完整步骤
1)守护进程启动容器 docker run -dit centos
2)docker ps 记住container_id
3)echo PID=$(docker inspect --format "{{.State.Pid}}" 47c9cda651db) 获取PID
4)nsenter --target ${PID}--mount --uts --ipc --net --pid    ${PID}为上步获取的PID
六.删除容器
docker rm 命令删除处于终止状态的容器 dockers rm [options] CONTAINER [CONTAINER...]支持的选项包括
-f -force=false 强行终止并删除一个运行中的容器。
-l --link=false 删除容器的连接,但保留容器。
-v --volumes=false 删除容器挂载的数据卷。
查看处于终止状态的容器 docker ps -a
如果要删除一个运行中的容器,可以添加 -f参数。Docker会发送SIGKILL信号给容器,终止其中的应用。
七.容器导入导出
1.导出容器
导出容器是指到处一个已经创建的容器到一个文件,不管此时这个容器是否处于运行状态 docker export CONTAINER
1)docker ps -a 查询dontainer_di
2)docker export container_id>test_export.tar 将文件传输到其他机器实现容器迁移。
2.导入容器
导出的文件可以使用docker import 命令导入,成为镜像。
docker import -centos:v1.0
docker load 命令导入镜像存储文件到本地镜像库,镜像存储文件将保存完整记录,体积较大。
docker import命令导入一个容器快照到本地镜像库 ,快照文件将丢弃所有的历史记录和元数据信息(即保存容其当时的快照状态)容器快照文件导入时可以重新指定标签等元数据信息。


 







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值