登录  | 加入社区

黑狼游客您好!登录后享受更多精彩

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 735|回复: 0

从开辟到摆设会用到的 Docker 下令

[复制链接]

216

主题

1

帖子

0

现金

黑狼菜鸟

Rank: 1

积分
0
发表于 2017-11-17 14:26:06 | 显示全部楼层 |阅读模式 来自 美国
fWRPZS1Q4Wf1Wq05.jpg


本文的目标是明白容器开辟在目的情况中摆设的端到端流程,并列出这些操纵所需的 Docker 下令。




1. 先容


整个流程包罗利用代码、依靠软件和设置来开辟容器映像,在开辟情况中运行和测试容器,将容器映像发布到 Docker Hub,以及末了的摆设和在目的情况中运行容器。

本文假设您已经在开辟和目的情况中安装了 Docker 引擎。有关安装阐明请参阅 6.3:http://docs.docker.com/engine/installation/。




2. 开辟容器映像
在构建容器映像之前,你必要创建一个 dockerfile,它包罗了所必要的信息。请参考http://nodejs.org/en/docs/guides/nodejs-docker-webapp/来体例一个 dockerfile。


2.1 构建 Docker 容器

ku95P5bZ0jn0CaNN.jpg
这个下令会利用当前目次下的 Dockerfile。假如 dockerfile 利用了别的文件名大概放在别的位置,可以利用 -f 参数来指定 dockerfile 的名称。“docker build” 下令会构建容器映像,这个容器映像的名称由 “-t” 参数指定。
qd8E8FR7DK783O3Q.jpg
D4e5xzUGwYKU73RE.jpg

2.2 Docker 映像定名规范


假如你只是在当地利用,那么你可以随意为 Docker 容器定名。它可以像上面那里简朴的定名为“myApp”。但是假如你想将映像发布到 Docker Hub,就必要遵照特定的定名规范。这个规范有助于 Docker 工具将容器映像发布到精确的定名空间和堆栈。
格式如下:
QEVd58wMXCWveWvR.jpg
如今我们按上面的规范来构建 Docker 映像:
w5pPfj6s73P6gY33.jpg
我们可以利用“docker tag”下令从已经存在的映像创建新的映像。“docker tag”下令会在下面阐明。
2.3 列出 Docker 中全部映像

j9v9R6uV6fHcuCcH.jpg

z1WYwoZz1rgIBIDW.jpg




3. 运行容器
3.1 启动 Docker 容器


利用“docker run”下令来启动 Docker 容器。
lLExl1aAEau41LD6.jpg

bkkhAzfZbHf0x50x.jpg
“-d” 参数会让容器以独立的模式来运行容器,如许纵然终端关闭了容器仍旧会保持运行。
“-p” 用于映射容器。好比,“-p 8080:8080” 的第一个端标语用在 Docker 主机上,第二个端标语是在 Docker 容器中利用的。根据这个参数的设置,全部对 Docker 主机端口的数据传输都会被转发到对应的 Docker 容器端口。
3.2 检察运行中的容器

fkkwdVvQ7dOO33O6.jpg
wP06bTvG08m8gtBV.jpg
从上面的输出我们可以看到 Docker 容器以 “trusting_snyder” 这个名字在运行。
假如要列出全部容器,而不管其状态怎样,利用 “-a” 参数。
eM4EnnGFN8Nn4SqO.jpg
3.3 表现运行中容器的控制台日记

L3UIGMCQMIYCqyh0.jpg
D7tTp1NOyctCXTN6.jpg
ContainerName(容器名称) 可以通过 “docker ps” 下令找到。
3.4 登入容器

CZ3q1R41oOS2o2ol.jpg
上面的下令会用容器中的 “bash” shell 给出提示。
s0100eFjEmUMGget.jpg
3.5  制止容器运行

kxAZ9d9oDd99DD2X.jpg
HivOTksWAIAd8IUr.jpg

3.6  从 Docker 中删除容器映像

Jn666IdN0N93X2dx.jpg
利用 “docker images” 或 “docker images -a” 下令找到 imageId(映像 ID)。
Ih4cSp4fGCCxsGFH.jpg
s75t5taaSDzu99d5.jpg
上面的下令会逼迫删除指定的映像。
3.7 清算 Docker / 删除当地 Docker 中全部容器映像

eqU9sF7ZoSA6SlFt.jpg





4. 发布容器映像
Docker 容器映像可以发布到当地库或公共的 Docker Hub。两种环境所利用的下令的操纵过程一样。为了将你的 Docker 映像发布到 Docker Hub,你得先在 http://hub.docker.com 创建本身的定名空间和堆栈。


我本身的定名空间是 “saravasu”,当前训练利用的堆栈是 “techietweak”。
ZDzrsSNKE4og9E24.jpg
4.1 登录 Docker Hub

CQQoVRCdmyqIDoMR.jpg

假如你想登录当地库,请先提供 URL。假如没有指定 URL,那么这个下令会登录 Docker Hub。
UX1l9J8KdYv2ujEE.jpg
MX8c488ZwvwfVOfw.jpg

4.2 标志容器映像


在把容器映像推送到 Docker Hub 之前,必须按指定的格式对其举行标志:/:。假如你没有指定版本(version),它会利用默认的 “default”。下面的下令演示了标志映像:
oWBRRB79O1KM9811.jpg
4.3 将 Docker 映像推送到 Docker Hub

iNOP3yPztCn4FPN6.jpg
VbDcOocQLG1o88B1.jpg

4.4 在 Docker Hub 中查抄容器映像

如今利用你的账号登录 Docker Hub 并查抄映像的堆栈中举行查抄。
c31s5Rc05i5BcO18.jpg




5 摆设容器
5.1 拉取 Docker 容器映像


在主机的目的情况中登录 Docker Hub 并从 Docker Hub 拉取容器映像。假如你想从私有的船坞(指 Docke 映像库)中拉取,必要利用下令 “$docker login ” 来指定私有仓船坞的主机名(hostname)。
Aw21SK3Cprr0K6y1.jpg
由于上面的下令没有指定主机名称,它会登录 http://hub.docker.com
I96I9n99XZE9z784.jpg
k2waszdv153Ksvk9.jpg
5.2 查抄映像

docker pull 下令会从 Docker Hub 下载容器映像。我们可以利用 “docker images” 下令来对其举行查抄。
sJ50CTTVJTgkOhhN.jpg MY88u29y7C84Y1QT.jpg

5.3 运行容器


如今我们用与在开辟情况下运行测试雷同的方法来运行 Docker 容器。之前做过,得心应手。
ageYhHn0he440weZ.jpg

eaQAQZj7A37i5YO7.jpg

docker run 下令会启动容器。可以利用 “docker ps” 下令来查抄。Docker 创建并运行了一个新的容器,其名称为 “naughty_lewin”。
我们在上面看到 Docker 引擎为运行的容器提供了一个随机的名称,这在主动化过程中大概会产生题目,以是最好是按我们的意愿指定一个名称。这可以由 “-name” 参数实现。
L5k122jzKOLTA1Qz.jpg
I5cs153Nnpm7KSCk.jpg




6. 总结
本文涵盖了开辟一个容器映像的流程和须要的下令,解说了在当地情况运行,以及将映像发布到 Docker Hub,并在目的情况运行容器。想进一步研究,大概阅读具体的文档,请移步 Docker 网站。




NJyYOvzYdXYUP7yJ.jpg


保举阅读八款值得实验的精致的 Linux 发行版(2017 版)

安卓 10 岁了:这些消散的经典 APP 你还记得吗?

大概是国内最火的开源项目 —— HTML/CSS 篇

TIOBE 10 月编程语言排行榜:Swift 正过期?
TaaxQqeXl9394vj4.jpg
点击“阅读原文”检察更多出色内容 NdDnLt084puu0Y0G.jpg




上一篇:扣丁学堂盘货关于学习linux体系​开辟​八大步调
下一篇:Linux Shell 浅析
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

 

QQ|申请友链|小黑屋|手机版|Hlshell Inc. ( 豫ICP备16002110号-5 )

GMT+8, 2024-5-15 09:27 , Processed in 0.246550 second(s), 47 queries .

HLShell有权修改版权声明内容,如有任何爭議,HLShell將保留最終決定權!

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表