大佬教程收集整理的这篇文章主要介绍了docker 入门6 - 部署 【翻译】,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
安装 Docker。
获取第 3 部分先决条件中所述的 Docker Compose。
获取 Docker Machine,如第 4 部分先决条件中所述。
阅读第 1 部分中的方向。
了解如何在第 2 部分中创建容器。
确保通过将friendlyHello
镜像推送到注册表来发布您创建的friendlyHello
镜像。我们在这里那个使用共享镜像。
确保镜像用作于已部署的容器。运行此命令,在信息中键入username
, repo
, 和 tag
:docker run -p 80:80 username/repo:tag
,然后访问http://localhost/
。
获取第 5 部分的 docker-compose.yml
的最终版本。
您一直在为整个教程编辑相同的Compose文件。我们有好消息,该Compose文件在生产环境中的工作方式与在您的计算机上一样好。在本节中,我们将介绍运行 Dockerized 应用程序的一些选项。
Docker Enterprise 企业版的客户运行了稳定、商业支持的 Docker ENGIne版本,作为附加组件,他们得到了我们一流的管理软件 ,Docker 数据中心。您可以使用通用控制面板(Universal Control Plane)的界面管理应用程序的各个方面,使用 Docker 可信registry运行专用镜像Registry,与 LDAP 提供程序集成,使用 Docker 内容信任对生产环境镜像进行签名,以及许多其他特征。
将您自己的服务器引入 Docker Enterprise并设置 Docker 数据中心实际上需要两个步骤:
完成所有设置并运行 Docker 企业版后,可以直接在 UI 中部署Compose文件。
之后,您可以看到它正在运行,并且可以更改您选择的应用程序的任何方面,甚至编辑Compose文件本身。
在您选择的平台上查找 Docker ENGIne---Community的安装说明。
@H_403_94@创建您的swarm运行 docker swarm init
在节点上创建一个swarm。
运行 docker stack deploy -c docker-compose.yml getstartedlab
,将应用部署在云托管swarm上。
docker stack deploy -c docker-compose.yml getstartedlab CreaTing network getstartedlab_webnet CreaTing service getstartedlab_web CreaTing service getstartedlab_visualizer CreaTing service getstartedlab_@R_673_9066@
你的应用现在在云提供商上运行。
您可以使用swarm命令行(正如您所做的那样)来浏览和管理swarm。下面是一些现在应该看起来熟悉的示例:
使用 docker node ls
列出群中的节点。
[getstartedlab] ~ $ docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS n2bsny0r2b8fey6013kwnom3m * ip-172-31-20-217.us-West-1.compute.internal Ready Active leader
使用 docker service ls
列出服务。
[getstartedlab] ~/sandBox/getstart $ docker service ls ID NAME MODE REPLICAS IMAGE PORTS ioipby1vcxzm getstartedlab_@R_673_9066@ Replicated 0/1 @R_673_9066@:latest *:6379->6379/tcp u5cxv7ppv5o0 getstartedlab_visualizer Replicated 0/1 dockersamples/visualizer:stable *:8080->8080/tcp vy7n2piyqrtr getstartedlab_web Replicated 5/5 sam/getstarted:part6 *:80->80/tcp
使用 docker service ps <service>
查看服务的任务。
[getstartedlab] ~/sandBox/getstart $ docker service ps vy7n2piyqrtr ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS qrcd4a9lvjel getstartedlab_web.1 sam/getstarted:part6 ip-172-31-20-217.us-West-1.compute.internal Running Running 20 seconds ago sknya8t4m51u getstartedlab_web.2 sam/getstarted:part6 ip-172-31-20-217.us-West-1.compute.internal Running Running 17 seconds ago ia730lfnrslg getstartedlab_web.3 sam/getstarted:part6 ip-172-31-20-217.us-West-1.compute.internal Running Running 21 seconds ago 1edaa97h9u4k getstartedlab_web.4 sam/getstarted:part6 ip-172-31-20-217.us-West-1.compute.internal Running Running 21 seconds ago uh64ez6ahuew getstartedlab_web.5 sam/getstarted:part6 ip-172-31-20-217.us-West-1.compute.internal Running Running 22 seconds ago
此时,你的应用将作为swarm部署在云提供商服务器上,您刚刚运行的 docker
命令就证明了这一点。但是,您仍然需要打开云服务器上的端口,以便:
如果使用多个节点,则允许 @R_673_9066@
服务和 Web
服务之间的通信
允许任何辅助节点上的 Web
服务入站流量,以便从 Web 浏览器访问 Hello World 和Visualizer。
允许在运行@H_755_27@manager的服务器上的入站 SSH 流量(这可能已在云提供商上设置)
以下是您需要为每个服务公开的端口:
service | Type | Protocol | Port |
---|---|---|---|
web | http | TCP | 80 |
visualizer | http | TCP | 8080 |
@R_673_9066@ | TCP | TCP | 6379 |
执行此操作的方法因云提供商而异。
我们以亚马逊网络服务 (AWS) 为例。
从这里,你可以做你学到的一切在本教程的前一部分。
通过更改 docker-compose.yml
文件,使用 docker stack deploy
命令动态重新部署应用来扩展应用。
通过编辑代码更改应用行为,然后重新生成并推送新镜像。(为此,请按照之前为构建应用和发布镜像所执行的相同步骤进行操作)。
您可以使用 docker stack rm 拆解stack。例如:
docker stack rm getstartedlab
与在本地 Docker machine VM 上运行swarm的情况不同,无论是否关闭本地主机,您的swarm及其上部署的任何应用都会在云服务器上继续运行。
您对整个 Docker 平台进行了全堆栈,开发到部署的浏览。
Docker 平台的内容远不止此处介绍的内容,但您对容器、镜像、服务、swarm、stack、缩放、负载平衡、volume和placement consTraints等基础知识有了很好的了解。
想深入一点吗?以下是一些建议的资源:
示例:我们的示例包括多个在容器中运行的常用软件示例,以及一些教授最佳实践的良好实验室。
用户指南:用户指南有几个示例,这些示例对网络和存储的解释比此处介绍的要深入。
管理员指南:介绍如何管理 Docker 实现的生产环境。
培训:提供面对面指导和虚拟课堂环境的官方 Docker 课程。
博客:介绍 Docker 最近发生的情况。
以上是大佬教程为你收集整理的docker 入门6 - 部署 【翻译】全部内容,希望文章能够帮你解决docker 入门6 - 部署 【翻译】所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。