docker技术学习总结(2)—— 容器

本文介绍了Docker容器的基本操作流程,包括容器的创建、启动、停止、进入、删除及容器内容的导入导出等关键步骤。并通过实例展示了如何使用Docker进行容器管理。

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

1,创建容器 

  • 新建容器 docker create

docker create -ti redis

使用 docker create创建的容器处于create状态,需要执行docker start命令启动。

  • 新建并启动容器 docker run

等价于执行完docker create之后执行docker startdocker run创建容器的后台标准操作包括:

  1. 检测本地是否存在对应的镜像,没有的话存公有仓库下载
  2. 利用镜像创建并启动一个容器
  3. 分配文件系统,在只读的镜像层挂在一层可读写层
  4. 从宿主机配置的网桥接口中桥接一个虚拟接口到容器
  5. 从地址池配置一个ip给容器
  6. 执行用户指定的应用程序
  7. 执行之后容器被终止
docker run -it ubuntu /bin/bash 开启一个终端,用户可以进行交互,-t选项让docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,-i则让容器的标准输入保持打开。在交互模式下,可以通过创建的终端来输入命令。在容器终端运行ps命令,发现只有一个bash一个进程,并没有启动其他不需要的进程。按 Ctrl+D或者运行 exit命令退出容器。对于所创建的bash容器,当运行exit命令退出之后,容器就自动处于终止状态了。因为对于docker容器来说,当运行当程序(bash)结束之后,容器也没有必要运行下去了。
  • 守护态运行 docker run -d

更多的时候,需要让docker容器在守护态运行:

docker run -d ubuntu /bin/sh -c "while true;do echo hello;sleep 1;done"

要查看容器的输出信息,可以运行docker logs查看。

2,终止容器 docker stop --time[=10]

首先向容器发送SIGTERM信号,等一段时间后(默认10s)向容器发送SIGLKILL信号终止容器:docker stop --time=1 96 ,使用docker ps -a -q命令查看已终止的容器id,对于已终止的容器可以运行docker start 命令来重新启动,可以使用docker restart使启动状态的容器终止,然后重新启动。

3,进入容器 docker attach 、docker exec、nsenter工具

  • docker attach 96,但是这种方式有时候不是很方便,当多个窗口同时attach进同一个容器时,所有窗口都会同步显示,当某个窗口阻塞时,所有其他窗口也无法操作了。
  • docker exec -it 96 /bin/bash,docker自1.3版本起,提供了这个更方便到工具,可以直接在容器内运行命令。
  • nsenter是系统操作系统自带到命令,不推荐使用。

4,删除容器 docker rm [options] container [container...]

  • -f,--force=true 强行删除一个正在运行的容器
  • -l,--link=false 删除容器的网络连接,但不删除容器
  • -v,--volumes=false 删除容器挂载的数据卷

5,导入导出容器

  • 导出容器:docker export container
docker export c4 >test.tar,将id为c4的容器导出到test.tar。
  • 导入容器:docker import
cat test.tar | docker import - redis-test,查看镜像列表


用docker import可以导入一个容器快照到本地镜像库,用docker load也可以导入一个镜像存储文件到本地镜像库,区别在于容器快照文件将丢失所有的历史记录和元数据(仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,并且体积较大。此外,从容器快照导入时可以重新指定标签等元数据信息。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值