构建 Docker 镜像
- 从 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
- 下载 CentOS 镜像后,我们将基于此镜像运行名为“centos_test”的 docker 容器。
# docker run -it --name="centos_test" centos:latest /bin/bash [root@e121d03b20dc /]#
- 现在让我们在容器“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
- 下一步是使用新创建的 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 存储库的名称。
这是将分配给创建的新图像的标签。
- 运行上述命令后,我们将在系统本地可用的 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 镜像并将其推送到 docker hub 存储库。
我们将从 Docker 中心的公共存储库中提取 CentOS 镜像。
稍后我们将使用此镜像运行一个容器并向该容器添加一个新文件。
然后,这个新容器将作为新的 Docker 镜像推送到 Docker hub。
之路 on it Road.com
将 docker 镜像推送到 docker hub 存储库
- 下一步是登录我们要将镜像推送到的 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
- 现在我们可以将镜像推送到 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
- 现在,我们将登录到 Docker Hub 并验证存储库中的镜像。
日期:2020-09-17 00:16:25 来源:oir作者:oir