📜  如何创建自己的 Docker 定制镜像?

📅  最后修改于: 2021-10-28 02:20:24             🧑  作者: Mango

Docker是一种开源容器管理服务,也是最受部署团队欢迎的 DevOps 工具之一。 Docker 主要用于需要持续交付软件的基于敏捷的项目。 Docker 开源项目的创始人、首席技术官和首席架构师是Soloman Hykes它由 Dotcloud于 2013 年推出,自此成为全球领先的软件容器平台。有关使用 docker 的容器化及其内部架构的更多详细信息,请单击此处。

在本文中,我们将看到如何创建我们自己的自定义 Docker 镜像以及如何将其推送到docker hub配置文件。将您的图像推送到 docker hub 配置文件是一种很好的做法,因为您不必再次创建它,并且您可以将这些图像拉入您的系统和云中,并将您的所有工作保存在其中。

创建 docker 镜像并不是一项乏味的任务。我们可以使用很少的命令轻松创建 docker 镜像。根据您要创建镜像的目的,有两种创建 docker 镜像的方法。第一种方法是使用commit 命令,另一种方法是使用Dockerfile概念。要阅读有关 docker 组件(即 Docker 镜像和 Docker 文件)的更多详细信息,请单击此处。

现在让我们开始使用 commit命令创建我们自己定制的 docker 镜像。在使用我们自己的 docker 镜像之前,我们应该首先在我们的操作系统中设置和配置 docker。要了解有关如何设置 docker 的更多信息,您可以参考这篇文章。安装成功后,让我们学习一些我们将使用的 docker 命令。

所需命令

第一个命令是pull命令。此命令将在几秒钟内下载/拉出完整的操作系统,具体取决于您的互联网连接。语法类似于docker pull image_name 。在这里,我正在拉 alex43/ubuntu-with-git:v1.0,这是我自己的自定义图像。

docker pull alex43/ubuntu-with-git:v1.0

第二个命令是run命令,我们将使用它来运行拉取的镜像。此命令将启动我的图像,我们将获得该图像的交互式 shell/终端。语法就像, -it用于交互式终端, -name为我启动的图像提供参考名称,然后是我的image_name

docker run -it --name myos alex43/ubuntu-with-git:v1.0

创建我们自己的镜像的第三个命令也是最重要的命令是commit命令。通过使用这个命令,我们可以简单地使用我们想要从现有镜像中的包创建我们自己的镜像。语法类似于docker commit Nameof_RunningImage your_own_name:tag

docker commit myos ubuntu-basicbundle:v1.0

第四个命令是标签命令。通过使用这个命令,我们需要使用语法username/image-name:tag重命名我们的图像。在执行此命令之前,您需要在 Docker 集线器上创建一个帐户,并且必须提供您在 Docker 集线器配置文件中提供的相同用户名。

docker tag alex43/ubuntu-with-git:v1.0 alex43/ubuntu-basicbundle:v1.0

第五个命令是登录命令。通过使用这个命令,我们将通过我们的终端登录到 docker hub 帐户,并且需要将我们的 docker 镜像上传到 docker hub 配置文件。

docker login --username alex43 --password your_passwd

第五个命令是push命令。通过使用这个命令,我们可以将我们自己创建的 docker 镜像上传到 docker hub 配置文件,并且可以通过拉取它从我们的本地系统到云的任何地方使用它。

docker push alex43/ubuntu-basicbundle:v1.0

所以这些是我们将在本教程中使用的具有概念的少数命令,我将上传一张新图像,以便你们可以更好地理解它。

我自己的形象

现在我们将从现有的alex43/ubuntu-with-git:v1.0图像创建我们自己的图像,我们将根据我们的需要对其进行自定义并上传。

步骤 1:第一步是拉图像,如我在上面的命令中所示。使用该命令并将映像拉入您的系统。
docker pull alex43/ubuntu-with-git:v1.0

第 2 步:启动该图像,以便我们可以根据需要对其进行自定义。在下图中,您可以看到,一开始我们的图像中没有 vim 编辑器,因此它给出了未找到命令的错误。然后我使用 apt-get install vim命令在我们的系统中安装了 vim。

在下图中,您可以看到在安装 vim 编辑器后,当我使用 vim 编辑器打开 abhi.txt 时,它没有出现任何错误,我可以在其中写入内容。您还可以使用我们在 alex43/ubuntu-with-git:v1.0 镜像中已有的cat 命令查看内容。

所以这只是你需要理解和应用你自己的概念的步骤。您可以创建许多更有用的 docker 镜像来解决一些行业用例,例如使用 docker 镜像启动 WordPress 博客站点、创建您自己的 MySQL 数据库镜像等。这是您需要理解和应用的基本概念需要。

第 3 步:按 ctrl+p+q退出图像并提交修改后的图像,正如我在上面的命令中所解释的那样。
第 4 步:在 docker hub 上创建一个帐户,并按照上述说明使用正确的语法更改图像的名称。
步骤 5:如上所述,使用 docker login命令从终端登录到 docker hub 配置文件。
第 6 步:最后的任务是使用 push 命令将图像上传到 docker hub 配置文件,如上所述。

对于第 3 步、第 5 步和第 6 步,您可以看到下图。推送图像可能需要一些时间,具体取决于图像的大小和系统的互联网速度。在图像中,您可以看到我使用了我上面解释的命令,并且它成功地将我的图像上传到了我的 docker hub 配置文件。

因此,通过这种方式,我们可以创建自己的 docker 镜像,并且只需使用很少的命令将其推送到 docker hub。