docker-容器相关:运行、启动、停止、进入、导出和导入、删除
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/version
和ls
分别查看当前系统的版本信息和当前目录下的文件列表
我们可以通过运行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-容器相关:运行、启动、停止、进入、导出和导入、删除相关推荐
- Docker 容器的创建/启动/进入/退出/停止
Docker 容器的创建/启动/进入/退出/停止 下面以创建一个 CentOS 容器为例,讲解 Docker 容器的创建.启动.进入.退出.停止. 下载 CentOS 镜像,创建并运行一个名为 myc ...
- Docker容器的运行时性能成本是多少?
本文翻译自:What is the runtime performance cost of a Docker container? I'd like to comprehensively unders ...
- vs附加其它计算机应用到进程,如何将VS代码附加到在docker容器中运行的节点进程...
我试图将Visual Studio代码调试程序附加到在Docker容器中运行的node.js应用程序. 我启动应用程序,如: node --debug-brk app.js 我在docker-comp ...
- Docker 容器中运行 Docker 命令
Docker 容器中运行 Docker 命令 在使用 GitLab/Jenkins 等 CI 软件的时候需要使用 Docker 命令来构建镜像,需要在容器中使用 Docker 命令:通过将宿主机的 D ...
- 基于事件驱动架构构建微服务第10部分:在docker容器内运行单元测试
原文链接:https://logcorner.com/building-microservices-through-event-driven-architecture-part11-run-unit- ...
- 如何在Docker容器中运行Docker [3种方法]
在本博客中,我将向您介绍在docker中运行docker所需的三种不同方法. Docker In Docker的用处 dockerIndocker的一个潜在用处是CI管道,在代码成功构建后,您需要在其 ...
- 【Rust日报】 2019-05-27:toast - 支持在docker容器中运行任务的工具
Rust中文社区翻译小组招募 #activity #RustChina 首批任务:Rust官网翻译 这里有详细说明 https://github.com/rust-lang/www.rust-lang ...
- oracle11 删除表空间,oracle11g启动停止服务,修改字符集,导入导出,创建删除表空间,卸载oracle等...
oracle11g启动停止服务,修改字符集,导入导出,创建删除表空间,卸载oracle等 1. [启动停止服务] //启动停止监听 www.2cto.com lsnrctl start; lsnrc ...
- 如何在Docker容器中运行GUI程序
如何在Docker容器中运行GUI程序 各位,今天我们将学习如何在Docker之中运行GUI程序.我们可以轻易地在Docker容器中运行大多数GUI程序且不出错.Docker是一个开源项目,提供了一个 ...
- Docker操作二 之 启动 停止 进入容器
<一>容器的使用 1,使用某个具体镜像启动一个容器的前前后后 **a,启动后进入容器命令格式: docker run -it centos:7 /bin/bash** [root@loca ...
最新文章
- Scrum Mastery:产品开发中如何优化产品价值?
- 【 MATLAB 】使用案例研究 DTFT 的对称性
- 如何验证自己的网络是否支持ipv6
- atitit.js浏览器环境下的全局异常捕获
- 计算机应用基础(本)实训任务1,计算机应用基础(本)实训任务1-2.pdf
- JS 循环遍历 总结
- python绘制散点图、如何选两列作为横坐标_在matplotlib散点图(水平杆图)中从x=0到数据点绘制水平线...
- Python笔记四之操作文件
- 超级终端软件测试工程师,超级终端是否可用来测试 RS485?
- 电商美工忙不停,年货节海报素材模板,拯救电商汪
- java中的集合和数组
- Luck Competition
- 5种速成数据分析方法
- Party (Standard IO)
- JasperReport 导出PDF不能加载
- PMBus中的PAGE
- UE mac版16.10.0.22破解
- LightOJ 1071 Baker Vai(记忆化搜索)
- JS for循环练习题
- OJ---腐烂的橘子