您的位置首页>资讯>

如何创建自己的Docker图像

导读 我们已经谈论了很多关于Docker, Kubernetes,以及集装箱化应用程序是技术的未来。问题是,这种相对新型的IT管理必须从形象开始,正如他们所说,形象就是一切。当然,通过镜像,我们

我们已经谈论了很多关于Docker, Kubernetes,以及集装箱化应用程序是技术的未来。问题是,这种相对新型的IT管理必须从形象开始,正如他们所说,形象就是一切。

当然,通过镜像,我们讨论的是一个只读模板,它包含一组用于创建容器的指令,然后可以将容器部署到Docker Swarm或Kubernetes集群中。如果没有这些映像,开发作为服务部署的任何应用程序将是一个挑战。

你可以从dockerhublike下载你想要的所有图像,在那里你可以找到可以做任何事情的图像。最大的问题是:你能永远相信这些图像吗?对任何企业来说,信任的问题都是巨大的。因此,与其为基于云的应用程序或服务使用别人的映像,为什么不构建自己的映像呢?你可以选择一个基本的图像,比如一个基本的NGINX图像,添加任何你需要的,然后滚动你自己的。让我告诉你怎么做。

参见:实现DevOps: IT专业人士指南(免费PDF) (TechRepublic)

要完成这项工作,您只需要一台支持docker命令的机器。我将在Ubuntu Server 18.04上演示,但是只要您的平台能够运行docker命令,您应该能够在您所选择的操作系统上执行此操作。

如果您的机器还没有安装Docker,那么让我来演示如何安装Docker。请记住,我是在Linux上演示的,因此您必须修改安装以适应您的平台。

要在Ubuntu上安装Docker,请登录服务器并发出命令:

安装完成后,使用命令将用户添加到docker组:

要完成更改,发出命令:

我们要做的第一件事是创建一个基本容器,我们将从中构建自定义图像。我们将使用alpine:nginx图像,并通过命令部署:

现在可以使用命令启动容器:

将浏览器指向http://SERVER_IP(其中SERVER_IP是托管Docker的服务器的IP地址),您将看到可靠的NGINX欢迎页面(图a)。

图一个

我们的NGINX容器正在运行并接受流量。

现在我们的容器正在运行,我们可以修改它了。让我们将欢迎屏幕改为“你好,Techrepublic!”为此,我们首先需要创建一个新的index.html文件。发出该命令:

在该文件中,粘贴以下内容:

保存并关闭文件。

现在我们可以用下面的命令将index.html复制到正在运行的容器中:

该命令的作用是将运行中的容器中的原始index.html文件替换为我们的新文件。然后可以将浏览器指向相同的地址,并看到显示的新文件(图B)。

图B

你好,TechRepublic !取代了标准的欢迎页面。

现在,我们将基于当前运行的容器(使用新的index.html文件)创建一个新图像。为此,我们将使用命令将更改提交到当前容器:

上面的命令将创建一个新的无名称、无标签的映像。您可以通过发出命令看到图像:

从这里,您将看到新的无标签图像(图C)。

图C

我们的新图像已经创建。

现在我们需要为图像添加一个存储库标签。这样可以从本地存储库甚至Docker Hub提取图像。要标记图像,首先必须知道图像的ID。在前面发出docker images命令时,它将在IMAGE ID列中列出ID。

如您所见,在我的示例中,ID是a91937f43275。要标记图像,我们只需要使用ID中的前四个字符。

现在,如果我们发出docker images命令,我们将看到带有新标记的图像(图D)。

图D

我们的标签已经添加到新的容器中。

此时,我们有了一个全新的映像用于容器。尽管它可能不是真正有用的内容,但它演示了基于另一个映像创建新映像是多么容易。但是在可以基于新映像部署容器之前,我们需要删除原始映像。要做到这一点,首先用命令停止原始容器:

使用以下命令删除该容器:

我们最终可以基于我们的新映像部署一个新的容器,使用以下命令:

如果我们将浏览器指向与上面相同的URL,我们应该会看到“Hello, Techrepublic!”每当您基于新标记的tech共和-nginx映像部署容器时,它将包括这些更改。

祝贺您,您已经通过使用几个快速而简单的命令构建了您的第一个Docker映像。尽管这个示例非常简单,但您可以在它的基础上构建并创建越来越复杂的映像。任何依赖容器进行业务的人可能更喜欢滚动自己的映像,而不是依赖于第三方来源。只要确保你用来创建自己的图像是可信的。

这是XaaS、AWS、微软Azure、谷歌云平台、云工程工作和云安全新闻和提示的首选资源。星期一交付

多云:备忘单(TechRepublic)

混合云:IT专业人士指南(TechRepublic下载)

无服务器计算:IT领导者指南(TechRepublic Premium)

2020年顶级云提供商:AWS,微软Azure,谷歌云,混合,SaaS玩家(ZDNet)

小型企业最佳云服务(CNET)

Microsoft Office vs谷歌Docs Suite vs LibreOffice (Download.com)

云计算:必读报道(TechRepublic on Flipboard)

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。