docker学习笔记5---push镜像至远程docker库

push镜像至远程docker库

参考文档:docker文档

为了演示我们刚刚创建的内容的可移植性,让我们上传我们构建的图像并在其他地方运行它。毕竟,当您想要将容器部署到生产环境时,您需要知道如何推送到注册表。

注册表是存储库的集合,存储库是图像的集合 - 类似于GitHub存储库,除了代码已经构建。注册表上的帐户可以创建许多存储库。该dockerCLI使用泊坞窗的公共注册表默认情况下。

注意我们在这里使用Docker的公共注册表只是因为它是免费和预先配置的,但有许多公共注册表可供选择,您甚至可以使用Docker Trusted Registry设置自己的私有注册表。

1 登录

如果您没有Docker帐户,请在hub.docker.com注册一个帐户 。记下您的用户名。

登录本地计算机上的Docker公共注册表。

$ docker login

2 标记image

将本地映像与注册表上的存储库相关联的表示法是 username/repository:tag。标签是可选的,但建议使用,因为它是注册管理机构用来为Docker镜像提供版本的机制。为上下文提供存储库和标记有意义的名称,例如 get-started:part2。这会将图像放入get-started存储库并将其标记为part2

现在,把它们放在一起来标记图像。docker tag image使用您的用户名,存储库和标记名称运行,以便将图像上载到所需的目标位置。该命令的语法是:

docker tag image username/repository:tag

例如:

docker tag friendlyhello yunzhognyu/get-started:part2

运行docker image ls以查看新标记的图像。

$ docker image ls

REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE

friendlyhello            latest              d9e555c53008        3 minutes ago       195MB

yunzhognyu/get-started         part2               d9e555c53008        3 minutes ago       195MB

python                   2.7-slim            1c7128a655f6        5 days ago          183MB

...

3 发布image

将标记的图像上传到存储库:

docker push username/repository:tag

docker学习笔记5---push镜像至远程docker库_第1张图片

完成后,此上传的结果将公开发布。如果您登录到Docker Hub,则会在其中看到新图像及其pull命令。

docker学习笔记5---push镜像至远程docker库_第2张图片

4 远程存储库中拉出并运行镜像

提交完成后,可以使用docker run以下命令在任何计算机上使用和运行您的应用程序:

docker run -p 4000:80 username/repository:tag

如果映像在计算机上不可用,则Docker会从存储库中提取映像。

$ docker run -p 4000:80 yunzhognyu/get-started:part2

Unable to find image 'yunzhongyu/get-started:part2' locally

part2: Pulling from yunzhognyu/get-started

10a267c67f42: Already exists

f68a39a6a5e4: Already exists

9beaffc0cf19: Already exists

3c1fe835fb6b: Already exists

4c9f1fa8fcb8: Already exists

ee7d8f576a14: Already exists

fbccdcced46e: Already exists

Digest: sha256:0601c866aab2adcc6498200efd0f754037e909e5fd42069adeff72d1e2439068

Status: Downloaded newer image for yunzhognyu/get-started:part2

 * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)

无论在哪里docker run执行,它都会提取您的图像,以及Python和所有依赖项requirements.txt,并运行您的代码。

它们都在一个径向力,你不需要在主机上安装任何东西,以便Docker运行它。

你可能感兴趣的:(Linux,docker)