ECS容器无法安装Docker套接字

时间:2019-05-28 14:36:57

标签: amazon-web-services docker amazon-ec2 amazon-ecs

我正在尝试在安装了Docker套接字的EC2容器中运行jenkins。我按照说明here将Docker套接字安装在ECS容器中。我使用以下脚本启动了EC2实例:

#!/usr/bin/env bash
IDS=$(id -G ec2-user)
ID_PATTERN='^[0-9]+\s[0-9]+\s([0-9]+)$'
[[ "$IDS" =~ $ID_PATTERN ]]
ID="${BASH_REMATCH[1]}"
chown 1000:${ID} /var/run/docker.sock
ECS_CLUSTER=my-cluster
touch /etc/ecs/ecs.config
echo $'\n'ECS_CLUSTER=${ECS_CLUSTER} >> /etc/ecs/ecs.config

chown只需将套接字的所有者更改为ec2-user即可,如链接的问题所述。 EC2启动后,我检查了它:

ls -al /var/run/docker.sock
srw-rw---- 1 ec2-user docker 0 May 28 14:27 /var/run/docker.sock

EC2按预期加入了集群,并且ECS尝试在EC2上运行任务,但是它们失败了。

Status reason:  CannotStartContainerError: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\\"/var/run/docker.sock\\\" to rootfs
Privileged: true

Dockerfile具有VOLUME /var/run/docker.sock指令。任务定义配置为在特权模式下运行。只要删除卷配置,我就可以正常运行。有人知道吗?预先感谢。

0 个答案:

没有答案