Tag: 亚马逊

如何从亚马逊的正在运行的容器中创build一个新的Docker镜像?

这是我的问题: 我有一个任务在amazon ECS上运行docker镜像,但是我想从容器的运行实例中创build一个新的docker镜像。 我在Amazon Ecs上看到了这个实例的id,我做了一个AMI,但是我想创build一个新的docker镜像,我可以从亚马逊中拉出来。 有任何想法吗 ? 问候和感谢

我如何使用Hashicorp Vaultpipe理我的应用程序秘密?

我对Hashicorp Vault的产品感到非常兴奋,但是我无法理解它如何适应我们现在的build筑。 毫无疑问,需要在每次部署时手动开启电子仓库,这对安全性来说是一个很大的好处,但是,当电子仓库初始密封时,应用程序如何反应呢? 例如,如果应用程序A依赖于Vault生成的数据库凭证进行初始化,那么此应用程序在部署Vault时如何反应? 旋转等待检查密封状态? 另外,其他人如何在生产中预先安装保险库? 例如,我们有一个身份validation服务器,它依赖于在启动时必须从Vault中获取的单一一致的系统密钥。 如何在部署保险柜之后安全地确保这个秘密可用? 为了logging,我们正在使用docker-compose和ecs compose来部署Vault和其他一些服务。

Amazon ECS – dockerlogin未经授权:需要身份validation

我需要做一个dockerloginhttps://docker.wso2.com 。 当我这样做,我得到"Error response from daemon: Get https://docker.wso2.com/v2/: unauthorized: authentication required" 我正在部署ECS上的WSO2按照这篇文章: https : //medium.com/containermind/how-to-deploy-wso2-api-manager-on-amazon-ecs-bdc5a8d22844 到目前为止,我已经运行: aws ecr get-login –no-include-email –region us-east-1 我成功地运行了docker login和返回的命令 3。 docker login https://docker.wso2.com Username: username Password: password Error response from daemon: Get https://docker.wso2.com/v2/: unauthorized: authentication required 也不知道是否需要在step3之前进行构build。

Elastic Beanstalk,Docker和持续集成

我有一个使用Docker的beanstalk环境。 每当我推动一些东西,jenkinsbuild立和上传我的新快照到S3。 (我用S3来存储我的版本)。 每个版本都是一个包含我的应用程序和我的Dockerfile的zip文件。 然后我用刚刚上传的版本更新我的BS环境(BS创build一个新版本,上传到S3版本,如果版本存在,replace它,它用于快照)。 一切正常,我第一次部署版本。 但是当我第二次做,它继续工作,但似乎我的最后一个版本没有被使用。 Docker不能重build我刚刚更新的应用程序。 为什么这个 ? 我错过了什么吗? 这是我的Dockefile

什么触发Elastic Beanstalk拉入更新的Docker镜像

我有一个Elastic Beanstalk应用程序运行并configuration为服务Docker容器(“通用Docker”configuration)并链接到Docker Hub上的私有镜像。 如何在使用docker push新版本后提示Elastic Beanstalk应用程序下载最新版本的Docker Hub映像? 我是否需要“重新启动应用程序服务器”,“重新构build环境”,或者“应该”自动将其拉入? 没有看到这在文档中解决。 **编辑**要清楚, eb deploy不会拉动更新的Docker镜像,但它将文件从应用程序目录中推送到您的ec2实例。 所以,在这一天结束的时候,我可能不会使用docker push进行部署,而只是为了保持镜像是最新的,以防您实际上需要进行环境configuration更改,而不是更改代码,在一个新的开发者,你可以使用docker pull 。 目前, eb deploy my-environment-name对基于Docker的Elastic Beanstalk部署非常有效。

如何在启动(AWS)中将数据从Docker容器复制到ECS?

我有两个容器,一个是基于带assets目录的Node.JS的Web服务器 。 另一个容器是nginx ,它将页面请求提供给Web服务器,并从assets目录获取静态信息。 我创build了AWS群集,EC2实例,构build并将docker映像推送到注册中心,使任务部署我的应用程序,但是我无法将assets目录与nginx共享,因为目录不是此容器的一部分。 所以为了解决我的问题,我想出了创buildEFS并附加卷,为ec2-user添加权限,并通过path/var/html/assets使目录可用。 酷,以及如何将资产内容从我的networking服务器docker容器复制到 /var/html/assets ? 我想把它公开/共享,因为很快我会制造额外的服务器,也应该把资产放置到这个公共目录。 这个过程应该自动化,并在每个部署工作,家伙,有什么build议吗? 谢谢!

Docker容器无法连接到Internet

我在AWS EC2实例Docker Containers上运行,Docker Containers通过Dockernetworking连接,通过一个etcd集群进行复制。 但是所有的容器都不能连接到外面。 例如,如果我ping或curl主机得到100%的包丢失。 etcdnetworking通过AWS私有IP进行通信。 这是我的docker信息: root@ip-10-0-127-34:/home# docker info Containers: 3 Running: 3 Paused: 0 Stopped: 0 Images: 9 Server Version: 17.05.0-ce Storage Driver: devicemapper Pool Name: docker-202:1-2050903-pool Pool Blocksize: 65.54kB Base Device Size: 10.74GB Backing Filesystem: xfs Data file: /dev/loop0 Metadata file: /dev/loop1 Data Space Used: 4.554GB Data Space Total: 107.4GB Data […]

无法将Docker作曲者部署到AWS ECS

尽pipe遵循了大量的教程和指南,包括官方文档,但在试图将我的docker集装箱部署到ECS时,我总是碰壁。 以下是我所做的: ecs-cli configure –cluster my-cluster ecs-cli up –keypair XXX –capability-iam –size 1 –instance-type t2.micro ecs-cli compose –file docker-compose.staging.yml up 我docker-compose.staging.yml是 version: '2' services: web: mem_limit: 128m image: nginx:latest ports: – "80:80" – "443:443" volumes: – src:/var/www – vhost.staging.conf:/etc/nginx/conf.d/site.conf – certificates:/etc/nginx/ssl links: – app depends_on: – app app: mem_limit: 128m image: groberts12/php7.1-fpm-base volumes: – src:/var/www […]

AWS EC2 ELB Docker路由

我正在运行docker-compose的问题,因为弹性负载平衡器。 安装程序是ELB确实443 – > TCP 80和docker工具0.0.0.0:80->4444/tcp 然而,服务器似乎并没有命中,我得到DNS_PROBE_FINISHED_NXDOMAIN 试图validation这是否是docker设置问题。 Docker version 1.12.6和Docker version 1.12.6 docker-compose version 1.12.0 网桥configuration没有定义Gateway是否正常? “` [root@loom-server1 ec2-user]# docker network inspect 8f1b234bfb0b [ { "Name": "bridge", "Id": "8f1b234bfb0b6c41962265299871cd8053757ec145f8e3f6b63960b71ceb3690", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": null, "Config": [ { "Subnet": "172.17.0.0/16" } ] }, "Internal": false, "Containers": { "bbd2b84545a0e3519e37fb4015eea45637b75ccaa1dd362aff68ff41f3118055": […]

在ECS中运行一个etcd容器需要什么入口点/命令?

到目前为止我已经尝试了所有的入口点和命令,我得到这个错误“没有这样的文件或目录”。 我需要:1)使用特殊的curl请求为AWS设置一个envvariables2)运行etcd容器,给它使用$ HostIP 它似乎需要一个string数组,但我不知道它是如何工作的。 我在想这些命令是: /bin/sh -c "export export HostIP=$(curl -s 169.254.169.254/latest/meta-data/local-ipv4)" 和 etcd -advertise-client-urls http://${HostIP}:2379,http://${HostIP}:4001 -other-similar-args… 但我需要将它们更改为逗号分隔。 1)我如何转义逗号/引号? 2)我是否需要使用逗号,并为每个空间启动一个新的string? 3)有没有人有一个工作的例子? 更新:我做了一个包含这个的entrypoint.sh一个自定义容器: #!/bin/sh export HOST=$(curl -s 169.254.169.254/latest/meta-data/local-hostname) export HostIP=$(curl -s 169.254.169.254/latest/meta-data/local-ipv4) /usr/local/bin/etcd -name etcd0 \ -advertise-client-urls http://${HostIP}:2379,http://${HostIP}:4001 \ -listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \ -initial-advertise-peer-urls http://${HostIP}:2380 \ -listen-peer-urls http://0.0.0.0:2380 \ -initial-cluster-token etcd-cluster-1 \ -initial-cluster etcd0=http://${HostIP}:2380 \ -initial-cluster-state new […]