Tag: 亚马逊 web services

从AWS CLI启动EC2实例时,未执行用户数据脚本

我正在尝试使用AWS CLI从我已经安装了Docker的映像启动EC2实例,然后为该实例提供一个由–user-data传入的脚本,以便从Docker集线器中提取映像并运行那个形象。 我的AWS CLI命令启动实例,但看起来传递给–user-data的脚本从不运行。 CLI命令是: aws ec2 run-instances –image-id ami-xxxxx –count 1 –instance-type t2.micro –key-name xxxxx –security-groups xxxxxxx –user-data file:///Users/xxxxxx/startlb.sh 和startlb.sh的内容: #!/bin/bash docker pull xxxxxx && docker run -p 9000:9000 -p 9090:9090 -d xxxxxxx go run lbserver.go > /home/ec2-user/startup.log 我将docker命令的输出redirect到startup.log,以查看是否有标准输出。 当我login到实例时,日志文件没有被创build,导致我相信user-data脚本从不运行。 docker images和docker ps都显示实例上没有图像或容器。 该命令成功启动实例,而不需要拖动和运行docker容器(默认情况下,Docker在实例上运行,因此不需要启动它)。 如果我将脚本的内容粘贴到terminal中并执行,就会启动实例,然后拉动容器并运行它,所以脚本没有出现任何问题。

Java Spring Hibernate应用程序在本地运行,但不在aws的ecs docker中运行

亲爱的Java和Docker大师们, 你有遇到拔出头发的问题吗? 尝试这个: 我有一个Java的Spring Hibernate的Web应用程序,可以在我的本地通过Gradle构build成功运行。 IT使用Oracle JDK 1.8.0_101进行编译。 它在Tomcat 7.0.72下运行(而Tomcat在JDK 1.8.0_102上运行Open)。 它完美地运行着这场战争。 为什么我有这样不同的jdk版本? 因为我想模仿下面的开发服务器。 我的Dev服务器是aws ecs下的docker,只有一个容器映像。 而这个容器的图片使用了tomcat:7.0.72-jre8的图片库。 在容器中运行相同的应用程序将引发以下错误: 创build名称为“agencyRepository”的bean时出错:init方法的调用失败; 嵌套exception是java.lang.IllegalArgumentException:不是托pipetypes:class com.mnetmobile.data.entities.Agency 我拖动那个战争文件,并运行在我的本地,它像一个冠军。 所有的JDK版本都是一样的,tomcat版本是一样的。 唯一不同的是,一个Windows 7笔记本电脑,与Ubuntu的Linux和运行docker。 (所有不同的path都是N / A,因为都有相对path) 任何想法,我可能错过了哪个洞?

NGINX为Django App提供静态文件

我有一个Django应用程序,我试图部署。 在这个阶段,我似乎无法从我的nginx容器提供我的静态文件。 我的项目就像这里一样 我把我的图片放到{% static "minimal/theme/assets/img/pic.jpg"%}目录下。 我的networking应用程序的文件结构是: . ├── Dockerfile ├── docker_django │ ├── __init__.py │ ├── apps │ │ ├── __init__.py │ │ └── todo │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── fixtures │ │ │ ├── foodprice.json │ │ │ ├── location.json │ │ │ └── menuitem.json │ │ […]

使用docker-java从Amazon ECR中提取图像

我正在使用docker-java客户端从Amazon ECR中拉取图像时遇到问题。 ECR注册loginvalidation成功,但无法从存储库中提取特定映像。 奇怪的是,login到ECR使用bash和拉图像使用docker工程。 我正在使用java版本的docker库( https://github.com/docker-java/docker-java/ )。 如何debugging或解决这个问题的任何帮助将是有用的。 // ECR client AmazonECRClient ecrClient = new AmazonECRClient(awsCredentialsProvider); GetAuthorizationTokenRequest getAuthTokenRequest = new GetAuthorizationTokenRequest(); List<String> registryIds = new ArrayList<String>(); registryIds.add("accountid"); getAuthTokenRequest.setRegistryIds(registryIds); // Get Authorization Token GetAuthorizationTokenResult getAuthTokenResult = ecrClient.getAuthorizationToken(getAuthTokenRequest); AuthorizationData authData = getAuthTokenResult.getAuthorizationData().get(0); String userPassword = StringUtils.newStringUtf8(Base64.decodeBase64(authData.getAuthorizationToken())); String user = userPassword.substring(0, userPassword.indexOf(":")); String password = userPassword.substring(userPassword.indexOf(":")+1); DockerClientConfigBuilder config […]