docker-容器相关

  • 运行交互式的容器
  • 启动容器(后台模式)
  • 停止容器
  • 进入容器
    • attach 命令
    • exec 命令
  • 导出和导入容器
    • 导出容器
    • 导入容器快照
  • 删除容器

运行交互式的容器

我们通过 docker 的两个参数 -i -t,让 docker 运行的容器实现"对话"的能力:
执行命令:
docker run -i -t ubuntu:15.10 /bin/bash
输出:

runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash
root@0123ce188bd8:/#

各个参数解析:

  • -t: 在新容器内指定一个伪终端或终端。

  • -i: 允许你对容器内的标准输入 (STDIN) 进行交互。

  • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

注意第二行 root@0123ce188bd8:/#,此时我们已进入一个 ubuntu15.10 系统的容器
我们尝试在容器中运行命令 cat /proc/versionls分别查看当前系统的版本信息和当前目录下的文件列表

我们可以通过运行exit命令或者使用CTRL+D来退出容器。

启动容器(后台模式)

使用以下命令创建一个以进程方式运行的容器

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

参数解析:

  • -c 命令表示后面的参数将会作为字符串读入作为执行的命令

在输出中,我们没有看到期望的 “hello world”,而是一串长字符

f57b3fd0d420q38qaefhqw78f1233812189
这个长字符串叫做容器 ID,对每个容器来说都是唯一的,我们可以通过容器 ID 来查看对应的容器发生了什么。
首先,我们需要确认容器有在运行,可以通过 docker ps 来查看:
dcoker ps

输出详情介绍:

  • CONTAINER ID: 容器 ID。
  • IMAGE: 使用的镜像。
  • COMMAND: 启动容器时运行的命令。
  • CREATED: 容器的创建时间。
  • STATUS: 容器状态。
  • 状态有7种:
    • created(已创建)
    • restarting(重启中)
    • running 或 Up(运行中)
    • removing(迁移中)
    • paused(暂停)
    • exited(停止)
    • dead(死亡)
  • PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
  • NAMES: 自动分配的容器名称。
    在宿主主机内使用 docker logs 命令,查看容器内的标准输出:

停止容器

我们使用docker stop命令来停止容器:

通过docker ps查看,容器已经停止工作:

可以看到容器已经不在了。

进入容器

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

  • docker attach
  • docker exec:推荐大家使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止。

attach 命令

下面演示了使用 docker attach 命令。
docker attach 243c32535da7

注意: 如果从这个容器退出,会导致容器的停止。

exec 命令

下面演示了使用 docker exec 命令。
docker exec -it 243c32535da7 /bin/bash

注意: 如果从这个容器退出,容器不会停止,这就是为什么推荐大家使用 docker exec 的原因。
更多参数说明请使用 docker exec --help 命令查看。

导出和导入容器

导出容器

如果要导出本地某个容器,可以使用docker export命令。
$ docker export 1e560fca3906 > ubuntu.tar
导出容器 575快照到本地文件 ubuntu.tar。

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

导入容器快照

可以使用docker import从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:
cat ubuntu.tar | docker import - test/ubuntu:v1


此外,也可以通过指定 URL 或者某个目录来导入,例如:
docker import http://example.com/exampleimage.tgz example/imagerepo

删除容器

删除容器使用 docker rm 命令:
docker rm 575

下面的命令可以清理掉所有处于终止状态的容器,慎用!!!:
$ docker container prune

docker-容器相关:运行、启动、停止、进入、导出和导入、删除相关推荐

  1. Docker 容器的创建/启动/进入/退出/停止

    Docker 容器的创建/启动/进入/退出/停止 下面以创建一个 CentOS 容器为例,讲解 Docker 容器的创建.启动.进入.退出.停止. 下载 CentOS 镜像,创建并运行一个名为 myc ...

  2. Docker容器的运行时性能成本是多少?

    本文翻译自:What is the runtime performance cost of a Docker container? I'd like to comprehensively unders ...

  3. vs附加其它计算机应用到进程,如何将VS代码附加到在docker容器中运行的节点进程...

    我试图将Visual Studio代码调试程序附加到在Docker容器中运行的node.js应用程序. 我启动应用程序,如: node --debug-brk app.js 我在docker-comp ...

  4. Docker 容器中运行 Docker 命令

    Docker 容器中运行 Docker 命令 在使用 GitLab/Jenkins 等 CI 软件的时候需要使用 Docker 命令来构建镜像,需要在容器中使用 Docker 命令:通过将宿主机的 D ...

  5. 基于事件驱动架构构建微服务第10部分:在docker容器内运行单元测试

    原文链接:https://logcorner.com/building-microservices-through-event-driven-architecture-part11-run-unit- ...

  6. 如何在Docker容器中运行Docker [3种方法]

    在本博客中,我将向您介绍在docker中运行docker所需的三种不同方法. Docker In Docker的用处 dockerIndocker的一个潜在用处是CI管道,在代码成功构建后,您需要在其 ...

  7. 【Rust日报】 2019-05-27:toast - 支持在docker容器中运行任务的工具

    Rust中文社区翻译小组招募 #activity #RustChina 首批任务:Rust官网翻译 这里有详细说明 https://github.com/rust-lang/www.rust-lang ...

  8. oracle11 删除表空间,oracle11g启动停止服务,修改字符集,导入导出,创建删除表空间,卸载oracle等...

    oracle11g启动停止服务,修改字符集,导入导出,创建删除表空间,卸载oracle等 1. [启动停止服务] //启动停止监听  www.2cto.com lsnrctl start; lsnrc ...

  9. 如何在Docker容器中运行GUI程序

    如何在Docker容器中运行GUI程序 各位,今天我们将学习如何在Docker之中运行GUI程序.我们可以轻易地在Docker容器中运行大多数GUI程序且不出错.Docker是一个开源项目,提供了一个 ...

  10. Docker操作二 之 启动 停止 进入容器

    <一>容器的使用 1,使用某个具体镜像启动一个容器的前前后后 **a,启动后进入容器命令格式: docker run -it centos:7 /bin/bash** [root@loca ...

最新文章

  1. Scrum Mastery:产品开发中如何优化产品价值?
  2. 【 MATLAB 】使用案例研究 DTFT 的对称性
  3. 如何验证自己的网络是否支持ipv6
  4. atitit.js浏览器环境下的全局异常捕获
  5. 计算机应用基础(本)实训任务1,计算机应用基础(本)实训任务1-2.pdf
  6. JS 循环遍历 总结
  7. python绘制散点图、如何选两列作为横坐标_在matplotlib散点图(水平杆图)中从x=0到数据点绘制水平线...
  8. Python笔记四之操作文件
  9. 超级终端软件测试工程师,超级终端是否可用来测试 RS485?
  10. 电商美工忙不停,年货节海报素材模板,拯救电商汪
  11. java中的集合和数组
  12. Luck Competition
  13. 5种速成数据分析方法
  14. Party (Standard IO)
  15. JasperReport 导出PDF不能加载
  16. PMBus中的PAGE
  17. UE mac版16.10.0.22破解
  18. LightOJ 1071 Baker Vai(记忆化搜索)
  19. JS for循环练习题
  20. OJ---腐烂的橘子

热门文章

  1. linux-mysql 允许远程连接
  2. 如何将二维数组作为函数参数
  3. linux查看输出的信息,linux查看java的输出信息
  4. 对于技术术语专业化的思考
  5. ~scanf()和EOF
  6. 物联网——有线通信技术
  7. PC上一些比较好用的软件
  8. 【408笔记】计算机组成原理 第三章 存储系统
  9. dau计算公式_dau mau_mau dau计算公式_ndau是指
  10. app 打开支付宝扫码付款(当面付)