gpt4 book ai didi

docker - ECS任务定义是否支持卷映射语法?

转载 作者:行者123 更新时间:2023-12-04 10:57:18 24 4
gpt4 key购买 nike

docker-compose规范支持services下的卷映射语法,例如:

version: '2'

volumes:
jenkins_home:
external: true

services:
jenkins:
build:
context: .
args:
DOCKER_GID: ${DOCKER_GID}
DOCKER_VERSION: ${DOCKER_VERSION}
DOCKER_COMPOSE: ${DOCKER_COMPOSE}
volumes:
- jenkins_home:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "8080:8080"

"AWSTemplateFormatVersion": "2010-09-09"之后,相应的ECS任务定义的卷语法不可读(使用MountPointsVolumes),如下图:

"EcsTaskDefinition": {
"Type": "AWS::ECS::TaskDefinition",
"Properties": {
"ContainerDefinitions": [
{
"Name": "jenkins",
"Image": "xyzaccount/jenkins:ecs",
"Memory": 995,
"PortMappings": [ { "ContainerPort": 8080, "HostPort": 8080 } ],
"MountPoints": [
{
"SourceVolume": "docker",
"ContainerPath": "/var/run/docker.sock"
},
{
"SourceVolume": "jenkins_home",
"ContainerPath": "/var/jenkins_home"
}
]
}


],
"Volumes": [
{
"Name": "jenkins_home",
"Host": { "SourcePath": "/ecs/jenkins_home" }
},
{
"Name": "docker",
"Host": { "SourcePath": "/var/run/docker.sock" }
}
]
}
}

CloudFormation 的 ECS 任务定义语法(现在)是否支持卷映射语法?类似于 docker-compose...

最佳答案

是的,当然,ECS 支持 docker socket 挂载,但语法有点不同。在任务定义中添加 DOCKER_HOST 环境变量,源路径应以 // 开头。

 "volumes": [
{
"name": "docker",
"host": {
"sourcePath": "//var/run/docker.sock"
}
}
]

// 在 AWS ecs 中有效。

此外,您还需要在任务定义中添加 DOCKER_HOST 环境变量。

            "environment": [
{
"name": "DOCKER_HOST",
"value": "unix:///var/run/docker.sock"
}
]

关于docker - ECS任务定义是否支持卷映射语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59096957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com