我在此tutorial之后创建了一个Spring Boot应用程序。在学习完本教程之后,我设法使用以下命令对我的应用程序进行了Docker化:
docker-compose up
我的docker-compose.yml文件:
version: '3'
services:
app:
build: .
volumes:
- .:/app
- ~/.m2:/root/.m2
working_dir: /app
ports:
- 8080:8080
command: mvn clean spring-boot:run
之后我检查docker映像时,会看到该应用程序的新映像。现在,我想将此应用程序部署到AWS Elastic beantalk。使用Docker平台创建环境时,需要为应用程序代码上传什么?如何将Docker映像上传到AWS?我找不到关于如何将dockerized应用程序/图像部署到像这样的aws的很好的教程。我是Docker的新手,所以我们将不胜感激!
答案 0 :(得分:2)
现在,EB正式支持Docker-compose :
EB 不支持docker-compose 。要制作容器(是单容器还是多容器设置?),必须使用single或multi-container EB平台。
在两种情况下,您都必须将docker-compose.yml
转换为Dockerrun.aws.json。该文件具有不同的格式,具体取决于您使用的是单个还是多个容器设置。
如何将docker映像上传到AWS?
如果使用单个EB设置,您只需将Dockerfile
提供给EB,它将为您处理所有事情。对于多容器EB,您可以将图像存储在dockerhub之类的公共仓库中,也可以存储在ECR之类的私人仓库中。
要将docker-compose.yml
文件转换为Dockerrun.aws.json
,可以尝试使用container-transform工具。尽管您很有可能需要手动对生成的文件进行进一步的调整,这可能会有所帮助。