Tag: 部署

Docker Swarm,并在Docker镜像更新时自动重新部署

我们使用Docker Swarm和Docker Compose进行部署服务。 我们开发一些服务,并将它们dockerizing到图像,我想我们的泊坞窗图像更新时autoredeploy服务。 你如何做这个技术堆栈或其他堆栈autoredeploy?

Docker:如何实现具有阶段性和生产性应用程序的工作stream程?

我正在通过创build一个docker图像 docker build -t target:stage -t target:latest . 这个图像被用于docker工作者设置 target: image: target:latest restart: always target-stage: image: target:stage restart: always 所以在构build图像后,我正在使用舞台图像进行一些testing: docker-compose up -d target-stage docker-compose run –rm webdriverio wdio 这样,容器就可以build立起来,并且在舞台环境中开始testing。 如果testing通过,应用程序应该可以提高生产力: docker-compose up -d target 但是我对这个设置有一些问题/问题: 假设已经有一个目标容器正在运行(因为这是生产性的应用程序),然后我做了一些改变,想要部署新的版本,所以图像被重新构build,即使前一个图像的容器仍在运行? 有了这个,我必须停止生产性的应用程序,并运行docker组成,以获得新的在线。 在这段时间,应用程序处于脱机状态,这不是最佳的。 我怎么能阻止呢? 也许是最糟糕的事情 :假设舞台失败了。 但由于目标图像已被覆盖,所以图像有错误的应用程序(虽然它还没有在线)。 现在假设任何事情都出错了,有人必须重新启动docker-compose:现在,越野车应用程序将在最新的工作应用程序丢失时上线。 概要 我正在构build两个版本的应用程序(阶段和生产力)。 阶段版本应该上网,应该做一些testing。 如果testing通过,应用程序应该上线以获得生产环境。 如果testing失败了,生产环境就不应该改变。 我想避免(如果可能的话)。 在CI工作stream程中两次构build应用程序…

如何从服务器的公共IP访问docker容器

我正在尝试使用docker在服务器上部署我的网站。 我有一个液滴与centOS和docker安装在它上面。 当我尝试运行一个容器( https://hub.docker.com/r/richarvey/nginx-php-fpm/ )时,我期望通过我的浏览器使用公共IP(ipv4)访问我的网站,但我认为这不够。 有什么问题?

Docker图像从开发机器上的本地开发机器到Linux机器

我创build了一个简单的spring-boot应用程序,并使用docker build Dockerfile创build了一个图像。 我想把这个镜像上传到Linux机器上,并在那里启动容器,在那里我可以find这个应用程序的图像推到Linux机器? 我正在使用Docker工具箱在Windows 10 Home Edition上运行docker命令。 提前致谢。

确保docker集装箱

首先让我说,我开始与docker,我还没有尝试过,为了做到这一点,我想知道是否有一种方法,我可以阻止用户看到docker容器文件系统(我假设容器FS位于主机下的普通文件,就像在openvz容器中发生的一样,我错了?),我想阻止某些用户查看容器文件系统并在某些容器上运行docker命令,这可能吗? 这可以使用AppArmor或类似的软件来完成吗?

docker图像是否与代码捆绑在一起?

我们正在构build一个SaaS应用程序。 我没有(现在 – 对于这个应用程序)可用性的高要求。 它主要是在特定的时区使用,仅用于商业目的,所以按计划在早上3点重新启动应该不是什么问题。 这是一个运行在fastcgi服务器的单声道的ASP.NET应用程序。 由于安全原因,每个客户都会部署自己的应用程序。 这将使用Docker容器来完成,在前面的一个Nginx服务器上,根据URL分配请求。 如何部署它的可能方式是我的: 只用fcgi服务器创builddocker镜像,并从挂载点运行代码 用fcgi服务器和代码创build一个docker镜像 看起来好像是 更新代码更容易,因为docker容器可以继续运行 configuration可以与代码捆绑在一起 我可以很容易(如果我想要)为特定的客户添加小的变化 看起来好像2 一切都在一个图像中,不需要乱用额外的文件,只需将其拉出并运行即可 缺点1。 除了正在运行的容器外,还有很多客户的文件夹 缺点2。 configuration不能在图像(或可以吗? – 我应该创build具体的图像,每个客户的configuration?)=>还为每个客户额外的文件 更新一个容器比较困难,因为我需要重新启动它 – 但是一开始就说过了,但并不是什么大事 现在 – 第一年 – 客户数量less,需求低时,任何解决scheme都足够好。 我正在看 – 与100多个客户合作的是什么? 也为了将来我想为这个项目设置CI,所以我们不需要手动更新所有的客户实例。 Docker镜像可以有自动构build,但是不能确定就足够了。 我的担忧基本上是 – 哪个解决scheme不那么混乱,可能更容易自动化? 我找不到任何Docker的最佳实践,它涵盖了类似的情况。

如何使用Docker部署应用程序

我有一个node.js应用程序依赖于phantom.js。 由于node和phantom.js都不是一件轻而易举的事,所以我创build了一个Docker容器。 现在,我如何将我的应用程序的更新部署到我们的生产服务器上运行的这个docker容器。 对我而言,有两种可能性。 设置SSH并将我的git存储库直接推送到Docker容器中 添加卷并更新容器外的存储库 我倾向于后者,但我不确定是否有更好的方法。 提前致谢!

docker生产的图像需要代码量或不是

我正在使用docker,并将我的代码安装在我的开发中的主机上的/var/www/code中。 现在当我想要释放我的东西时,我有两个疑问 我是否遵循相同的stream程并使用部署脚本更新生产主机中的代码? 或者我的生产映像没有任何主机装入的卷,甚至我把我的代码作为图像的一部分,以便在生产中我不需要从github获取任何代码。 我不知道要走哪条路

在EBS中,从Dockerrun.aws.json -AWS中增加命令超时

我正在Elastic beanstalk中部署一个Dockerfile和一个Dockerrun.aws.json,并且由于某些命令超过了最大命令超时而发生错误。 我可以通过更新和部署来修复此错误,并修改最大超时时间。 但我想知道是否有一个命令来增加从Dockerrun.aws.json的EBS的最大命令超时? 或另一种方式来自动做到这一点?

Docker部署选项

我想知道在生产中的docker集装箱部署有哪些选项。 鉴于我有单独的应用程序和数据库服务器容器和数据专用容器持有可部署和其他持有数据库文件。 我现在只有一台服务器,我想“docker enable”,但是在那里部署的最好方法是什么(远程将是最好的select) 我只想打一个button,一些工具将负责停止,启动和交换所有需要的docker集装箱。 有无数的工具(Fleet,Flocker,Docker Compose等),我被select压倒了。 我唯一清楚的是,我不想用git repo的代码构build图像。 我想将docker映像作为我的发行版的包装器。 我是否从错误的angular度理解了docker的想法?