命名Docker容器:初学者的3个提示

介绍

创建Docker容器时,将为其分配一个通用唯一标识符(UUID)。 这些对于避免命名冲突和促进没有人为干预的自动化是必要的。 他们有效地识别到主机和网络的容器。 然而,他们需要更多的努力,为人类所区分,无论是在64个字符的人类可读的长显示器或更频繁地显示12个字符的短表,这可能看起来像285c9f0f9d3d

为了帮助人类,Docker还与两个单词,用下划线连接,如一个随机生成的名称提供容器evil_ptolemy 这可以更容易地告诉一个容器从另一个,但随机名称没有给出任何更多的洞察容器功能比UUID。

这里有三个提示,可以使你更容易保持轴承,当你学会使用容器。

1 - 在运行容器时命名容器

通过添加--name= meaningful_namedocker run命令,一个evil_ptolomy成为互动环节,以及在像命令的输出更容易识别docker ps 但是有限制。 由于容器名称必须是唯一的,因此不能在一个容器之外使用故意命名和缩放服务。

在命令行或Dockerfile中:
docker run --name= meaningful_name

例如,如果我们跑了基于一个集装箱nginx基本映像,并开始像这样:

docker run --name nginx -d nginx

该名称将显示在正在运行的容器的列表中:

docker ps
OutputCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
08f333ef7216        nginx               "nginx -g 'daemon off"   15 seconds ago      Up 14 seconds       80/tcp, 443/tcp      nginx

虽然名字出现在输出docker ps ,可用于管理容器,如果你重视它,或者在日志文件中,将不会出现在容器的命令提示符。 为了实现这一点,您还需要分配一个主机名。

2 - 为容器分配主机名

供给的值--hostname命令设置里面/etc/hostname/etc/hosts的容器内。 因此,它出现在命令提示符下。 它在配置角色容器的DNS和可以同时在多容器设置的学习阶段是有帮助的。 从容器外部访问并不容易,但它将显示在容器的日志文件中,当这些文件写入独立于主机的卷时,可以更容易地识别容器。

CLI和Dockerfile:
docker run --hostname= valuedocker run -h value

虽然--name--hostname是集装箱的识别都是有用的,有时,它不是在所有的命名容器。 相反,它是关于一个容器清理后自己,而不必记得自己做。

3 - 在容器退出时自动删除容器

当调试时,停止的容器退出后仍然存在是有帮助的。 您可以保留日志文件等数据,并调查容器的最终状态。 然而,有时,你知道当你运行容器,你不会想要它在你完成后。 在这种情况下,你可以使用--rm标志退出时自动删除。 这可以使得更容易保持清洁。

小心,虽然! 如果您使用泊坞窗卷, --rm将删除任何通过名称不指定卷

CLI和Dockerfile:
docker run --rm

当您构建映像并需要附加到正在运行的容器时,这是非常有用的。 你想环顾四周,你不想用你不打算再次使用的容器来填充你的磁盘。

结论

这三个标志docker run--name--hostname--rm可以各自以自己的方式,使之更容易知道学习泊坞窗时,什么什么的。 您可以了解更多有关容器和与工作docker run在命令与Docker容器工作指南。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏