Docker 容器

容器是 Docker 的另一个核心概念。
简单地说,容器是镜像的一个运行实例,所不现的是,它带有额外的可写文件层。
下面将具体介绍容器的重要操作,包括创建一个容器、启动容器、终止一个容器、进入容器内执行操作、删除荣器和通过导入导出容器来实现容器迁移等。

创建容器

新建容器

使用 docker create 命令新建一个容器
root@localhost:~# docker create -it ubuntu:latest

Paste_Image.png

使用docker create 命令新建的容器处理停止状态,使用docker start 命令启动它。

新建并启动容器

启动容器有两种方式,一种是基于镜像新建一个容器并启动,另一个是将终止状态(stopped)的容器重新启动。所需的命令主要为docker run ,等价于先执行docker create 命令,再执行 docker start 命令。
例如,下面的命令输出一个“ Hello World”,之后容器自动终止。
root@localhost:~# sudo docker run ubuntu /bin/echo 'Hello world'
Hello world
下面的命令则启动一个bash 终端,允许用户进行交互:
root@localhost:~# sudo docker run -t -i ubuntu:14.04 /bin/bash
root@2af4b41755da:/#
用户按 Ctrl+d 或输入 exit 命令来退出容器
root@2af4b41755da:/# exit
exit
对于所创建的 bash 容器,当使用 exit 命令退出之后,该容器就自动处理终止状态了。

守护态运行

我们可以添加 -d 参数来实现
例如下面的命令会在后台运行容器:
root@localhost:~# sudo docker run -d ubuntu /bin/sh -c "While true; do echo hello world; sleep 1; done"
通过 docker ps -a 来查看容器信息:

Paste_Image.png

终止容器

使用 docker stop 来终止一个运行中的容器,命令格式为 docker stop[-t | --time [=10]]。它先向容器发送SIGTERM 信号,等待一段时间后(默认为10秒),再发送 SIGKILL 信号终止容器。

注意:docker kill 命令会直接发送SIGKILL 信号来强行终止容器。

使用docker ps -a -q 命令看到处于终止状态的容器的ID信息。例如:
root@localhost:~# sudo docker ps -a -q
c15ad4a50766
2af4b41755da
f186c6b5ba12
处于终止状态的容器,通过 docker start 命令来重新启动
root@localhost:~# sudo docker start c15
c15
docker restart 命令会将一个运行态的容器终止,然后再重新启动它:
root@localhost:~# sudo docker restart c15
c15

进入容器

在使用 -d 参数时,容器启动后会进客户后台,用户无法看到容器中的信息。下面为大家介绍进入容器进行操作的多种方法:

attach 命令

docker attach 是 Docker 自带的命令。示例:

Paste_Image.png

使用attach命令有时不方便。当多个窗口同时 attach 到同一个容器的时候,所有窗口都会同步显示。当某个窗口因命令阻塞时,其他窗口也无法执行操作了。

exec 命令

该命令可以直接在容器内运行命令。例如进入到刚创建的容器中,并启动一个bash:
root@localhost:~# sudo docker exec -ti 2ba8459942c5 /bin/bash
root@2ba8459942c5:/#

删除容器

使用 docker rm 命令删除处理终止状态的容器,命令格式

  • -f 强行终止并删除一个运行中的容器
  • -l 删除容器的连接,但保留容器
  • -v 删除容器挂载的数据卷。
    例如:,查看处理终止状态的容器并删除:
    root@localhost:~# sudo docker ps -a
    root@localhost:~# sudo docker rm fef8faf0cef7
    如果要删除一个运行中的容器加 -f 参数。Docker会发送 SIGKILL 信号给容器,终止其中的应用:
    root@localhost:~# sudo docker rm -f 04e7d4d6cd1b

导入和导出容器

导出容器

导出容器是指导出一个已经创建的容器到一个文件,不管此时这个容器是否处理运行状态,可以使用dokcer export 命令,格式为:docker export CONTAINER.
查看所有容器如下所示:

Paste_Image.png

分别导出2ba8459942c5容器和c15ad4a50766容器到test_for_run.tar文件和test_for_stop.tar文件。
root@localhost:~# sudo docker export 2ba >test_for_run.tar
root@localhost:~# sudo docker export c15 >test_for_stop.tar

导入容器

导出的容器使用 docker import 命令导入, 成为镜像

Paste_Image.png

小结

容器是直接提供应用服务的组件,也是 Dokcer 实现快速的启停和高效服务性能的基础。
在生产环境中,建议使用HAProxy 工具来代理容器访问,这样在容器出现故障时,可以快速切换到其他容器,还可以自动重启故障容器。

参考文档

《Docker 技术入门与实战》第4章 容器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容

  • 一,小王对于容器的困惑 小王刚开始学习Docker的时候,找资料在网上看到最多的是Docker的好处。比如: 1、...
    架构师小秘圈阅读 8,417评论 0 24
  • 目录 创建容器 启动容器 停止容器 进入容器 删除容器 容器迁移 1. 创建容器 docker创建容器可以用doc...
    garyond阅读 1,011评论 0 1
  • 多年以前,和老梁聊天,他说情感只是一个维度,万物皆可量化,我是非常惊愕和抵触的。 但是,谁说情感不能建模呢?骗子最...
    咸叔说阅读 203评论 0 1
  • 所谓难过 就是感觉心像被一只手紧紧的攥着 努力的挣扎着抽搐 喉咙里有种叫哽咽的东西 在努力的冲出来 眼睛模糊 鼻...
    just黑阅读 155评论 0 0
  • 我们每天都在做决定,无论大事小事。我们决定今天要做什么,决定今天早中晚吃什么……对于小事,比如决定今天吃什么,我们...
    媛媛菇凉阅读 309评论 0 0