我的任务是在Amazon ECS Fargate上部署第三方OSRM服务。
对于启动时的OSRM docker,您需要传输一个包含地理数据的文件。
问题是亚马逊ECS Fargate不提供对主机文件系统的访问,也不提供在容器部署期间附加文件和文件夹的能力。
因此,我想创建一个中间映像,在构建时,该映像使用geodata保存文件,在启动容器时,它将在定义卷时使用它。
谢谢!
据我所知,AmazonECS是一个普通的容器协调器,不实现docker-swarm,所以像docker-configs这样的东西是不可能的。
然而,你应该能够做这样的事情:-
ID=$(docker create --name my-osrm osrm-base-image)
docker cp ./file.ext $ID:/path/in/container
docker start $ID
解决方案非常简单。
对于这个Dockerfile,我在本地机器上创建了一个映像,并将其托管在DockerHub:上
FROM osrm/osrm-backend:latest
COPY data /data
ENTRYPOINT ["osrm-routed","--algorithm","mld","/data/andorra-latest.osm.pbf"]
之后,在没有任何设置和音量的情况下,我在AWS ECS 中启动了此映像