美文网首页
Docker 入门(二)

Docker 入门(二)

作者: __笙歌4J | 来源:发表于2019-08-01 14:31 被阅读0次

分享你的镜像

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

注册中心是存储库的集合,而存储库是镜像的集合——有点像GitHub存储库,只是代码已经构建好了。注册中心上的帐户可以创建许多存储库。docker CLI默认使用docker的公共注册表

注意:我们在这里使用Docker的公共注册中心,因为它是免费的,而且是预先配置的,但是有许多公共注册中心可供选择,您也可以使用Docker Trusted registry设置自己的私有注册中心。

使用Docker ID登录到公共注册中心

如果你没有Docker帐户,在hub.docker.com注册一个。记下你的用户名。
在本地计算机上登录到Docker公共注册中心。

$ docker login

镜像标记

将本地镜像与注册中心上的存储库关联的符号是username/repository:tag。标记是可选的,但推荐使用它,因为注册中心使用它来为Docker镜像提供一个版本。为上下文提供存储库和标记有意义的名称,例如get-started:part2。这将镜像放入get-started存储库并将其标记为part2。

现在,把它们放在一起来标签镜像。使用用户名、存储库和标记名称运行 docker tag image,以便将镜像上传到所需的目的地。该命令的语法为:

docker tag image username/repository:tag

例如:

docker tag friendlyhello gordon/get-started:part2

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

$ docker image ls

REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
friendlyhello            latest              d9e555c53008        3 minutes ago       195MB
gordon/get-started         part2               d9e555c53008        3 minutes ago       195MB
python                   2.7-slim            1c7128a655f6        5 days ago          183MB
...

发布镜像

上传您的标签镜像到存储库:

docker push username/repository:tag

一旦完成,此上传的结果将公开可用。如果您登录到Docker Hub,您将在那里看到带有pull命令的新镜像。

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

从现在开始,您可以使用docker run,在任何机器上运行您的应用程序:

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

如果镜像在本地找不到,Docker将从存储库中提取它。

$ docker run -p 4000:80 gordon/get-started:part2
Unable to find image 'gordon/get-started:part2' locally
part2: Pulling from gordon/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 gordon/get-started:part2
 * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)

无论docker run在何处执行,它都会提取您的镜像、Python和所有依赖项。并运行您的代码。它以一个简洁的小程序包的形式运行,您不需要在主机上安装任何东西就可以运行它。

本节命令:

docker build -t friendlyhello .  # Create image using this directory's Dockerfile
docker run -p 4000:80 friendlyhello  # Run "friendlyhello" mapping port 4000 to 80
docker run -d -p 4000:80 friendlyhello         # Same thing, but in detached mode
docker container ls                                # List all running containers
docker container ls -a             # List all containers, even those not running
docker container stop <hash>           # Gracefully stop the specified container
docker container kill <hash>         # Force shutdown of the specified container
docker container rm <hash>        # Remove specified container from this machine
docker container rm $(docker container ls -a -q)         # Remove all containers
docker image ls -a                             # List all images on this machine
docker image rm <image id>            # Remove specified image from this machine
docker image rm $(docker image ls -a -q)   # Remove all images from this machine
docker login             # Log in this CLI session using your Docker credentials
docker tag <image> username/repository:tag  # Tag <image> for upload to registry
docker push username/repository:tag            # Upload tagged image to registry
docker run username/repository:tag                   # Run image from a registry

相关文章

  • 服务器部署工具

    大白话 Docker 入门(二) 【阿里云 · 云栖社区】大白话 Docker 入门(二)http://click...

  • DevOps专题

    ---------- Docker ---------- Docker入门篇-概念 Docker入门篇-创建虚拟机...

  • k8s 与 spring cloud分布式服务架构

    01.docker入门 docker的安装及入门例子 什么是docker? 为什么使用docker?它和虚拟...

  • Docker 基本用法

    Docker 参考 极客学院Wiki:Docker入门基础教程 Gitbook:Docker —— 从入门到实践 ...

  • Docker入门与实战演示

    目录 什么是容器 Docker安装指南 Docker快速入门 Docker入门详解 如何开发容器化的Java程序 ...

  • Docker入门?(二)

    回顾 在上一篇文章中,我们用的那种session共享,存在着无法解决的问题,有可能是跨域引起的问题,由于能...

  • 入门Docker(二)

    概要 之前学习过如何使用docker,这是一篇补充。主要讲述如何新建一个docker的镜像并推送到云端的过程 下载...

  • Docker 入门(二)

    引言 Docker 是一个非常有趣的项目。它自己宣称可以减轻部署服务器的难度,当然我相信里面有炒作的成分。但是实际...

  • Docker 入门(二)

    分享你的镜像 为了演示我们刚刚创建的东西的可移植性,让我们上传构建的映像并在其他地方运行它。毕竟,当您想要将容器部...

  • Docker入门二

    目录 八、数据管理九、数据卷备份恢复十、Docker网络模式十一、opration not permmited十二...

网友评论

      本文标题:Docker 入门(二)

      本文链接:https://www.haomeiwen.com/subject/etbqdctx.html