构建 Docker 镜像

  1. 从 Docker Hub 拉取最新版本的 CentOS 镜像。
# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
Digest: sha256:4565fe2dd7f4770e825d4bd9c761a81b26e49cc9e3c9631c58cfc3188be9505a
Status: Image is up to date for centos:latest
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              d123f4e55e12        2 weeks ago         197MB
  1. 下载 CentOS 镜像后,我们将基于此镜像运行名为“centos_test”的 docker 容器。
# docker run -it --name="centos_test" centos:latest /bin/bash
[root@e121d03b20dc /]#
  1. 现在让我们在容器“test_dir”中创建一个新目录,其中包含一个名为“test_file”的文件。
    还要在 test_file 中添加一些随机文本。
[root@e121d03b20dc /]# mkdir test_dir
[root@e121d03b20dc /]# cd test_dir
[root@e121d03b20dc test_dir]# echo "This is a sample text" > test_file         
[root@e121d03b20dc test_dir]# cat test_file
This is a sample text
[root@e121d03b20dc test_dir]# ls -lrt
total 4
-rw-r--r--. 1 root root 22 Nov 19 16:12 test_file
  1. 下一步是使用新创建的 docker 容器通过 docker commit 命令构建新镜像。
    'docker commit' 命令从 docker 主机运行,而不是从 docker 容器本身运行。
# docker commit -m="This a test image" centos_test geeklab/test_repo
sha256:8a34a37712626012e995e3b02e2179bd38fb646cfc9ceaa30b15a4774d198f67

其中:
-m="This a test image" : 是一个提交消息。

centos_test :我们从中创建镜像的容器的名称。

geeklab/test_repo :要将镜像推送到的 Docker Hub 存储库的名称。
这是将分配给创建的新图像的标签。

  1. 运行上述命令后,我们将在系统本地可用的 docker 镜像列表中看到新镜像“centos_image”。
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
geeklab/test_repo   latest              8a34a3771262        About a minute ago   197MB
centos              latest              d123f4e55e12        2 weeks ago          197MB
如何构建 Docker 镜像并将其推送到 Docker Hub 存储库

这篇文章讨论了如何在本地 docker 系统上构建 docker 镜像并将其推送到 docker hub 存储库。
我们将从 Docker 中心的公共存储库中提取 CentOS 镜像。
稍后我们将使用此镜像运行一个容器并向该容器添加一个新文件。
然后,这个新容器将作为新的 Docker 镜像推送到 Docker hub。

之路 on it Road.com

将 docker 镜像推送到 docker hub 存储库

  1. 下一步是登录我们要将镜像推送到的 docker hub 存储库。
# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: geeklab
Password: 
Login Succeeded
  1. 现在我们可以将镜像推送到 docker hub 存储库。
# docker push  geeklab/test_repo
The push refers to a repository [docker.io/geeklab/test_repo]
3dbbbdcf3ef9: Pushed 
cf516324493c: Pushed 
latest: digest: sha256:c542e22fe3f29f809226d72b6c6d8efd0bec46c2924d66ad8fbb5612972740fe size: 736
  1. 现在,我们将登录到 Docker Hub 并验证存储库中的镜像。
日期:2020-09-17 00:16:25 来源:oir作者:oir