在ECS的所有教程中,您需要创建一个群集,然后创建一个自动缩放组,它将生成实例.不知何故,在所有这些教程中,实例神奇地出现在集群中,但没有人提示如何连接自动缩放组和集群.
我的自动缩放组按预期生成实例,但它们只是不显示在我的ecs集群上,谁拥有我的docker定义.
我错过的连接在哪里?
我在亚马逊上有一个自动缩放组,它产生服务器实例.
我的aws-cli配置是:
[default]
s3 =
signature_version = s3v4
addressing_style = path
region = eu-central-1
Run Code Online (Sandbox Code Playgroud)
我的ecs-agent配置在实例启动时使用aws-cli从s3读取,如下所示:
ECS_CLUSTER=cluster-mongodb
ECS_ENGINE_AUTH_TYPE=dockercfg
ECS_ENGINE_AUTH_DATA={"domain.com":{"auth":"bsaewfgvewgf23g9hv3","email":""}}
Run Code Online (Sandbox Code Playgroud)
遗憾的是,生成的实例上的ecs-agent总是在10秒后重新启动,而不是注册到群集"cluster-mongodb".
错误日志在这里:
2016-02-05T14:40:47Z [INFO] Starting Agent: Amazon ECS Agent - v1.7.1 (007985c)
2016-02-05T14:40:47Z [INFO] Loading configuration
2016-02-05T14:40:47Z [INFO] Checkpointing is enabled. Attempting to load state
2016-02-05T14:40:47Z [INFO] Loading state! module="statemanager"
2016-02-05T14:40:47Z [INFO] Detected Docker versions [1.17 1.18 1.19 1.20]
2016-02-05T14:40:47Z [INFO] Registering Instance with ECS
2016-02-05T14:41:07Z [ERROR] Could not register module="api client" err="RequestError: send request failed
caused by: Post https://ecs.eu-central-1.amazonaws.com/: net/http: request …Run Code Online (Sandbox Code Playgroud) 我正在用Docker-compose建造一盏灯.
在我的docker-compose.yml中,我有以下内容:
ubuntu-base:
build: ./ubuntu-base
webserver-base:
build: ./webserver-base
Run Code Online (Sandbox Code Playgroud)
webserver-base源自基于ubuntu的映像.在基于Web服务器的Dockerfile中:
FROM docker_ubuntu-base
Run Code Online (Sandbox Code Playgroud)
ubuntu-base已建成
FROM ubuntu:14.04
Run Code Online (Sandbox Code Playgroud)
现在,如果我执行docker-compose.yml,它不会构建基于ubuntu的映像,但它尝试构建基于Web服务器的映像并失败,因为它找不到基于ubuntu的映像.
输出:
$ docker-compose up -d
Building webserver-base
Step 1 : FROM docker_ubuntu-base
Pulling repository docker.io/library/docker_ubuntu-base
ERROR: Service 'webserver-base' failed to build: Error: image library/docker_ubuntu-base:latest not found
Run Code Online (Sandbox Code Playgroud)
如果我首先手动构建基于ubuntu的映像,这一切都有效.
为什么它不构建基于ubuntu的图像?