我在Azure Repos中使用基于mysql的应用程序进行了春季启动。我在存储库中同时有Dockerfile
和docker-compose.yml
文件。在docker-compose.yml
文件中,我定义了两个服务-一个用于应用程序,另一个用于mysql。我打算在azure-pipelines.yml
文件中添加Docker Compose任务,并点击以下链接:https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/docker-compose?view=azure-devops
docker-compose.yml:
version: '3'
services:
mysql-docker-container:
image: mysql:latest
environment:
- MYSQL_ROOT_PASSWORD=root123
- MYSQL_DATABASE=spring_app_db
- MYSQL_USER=app_user
- MYSQL_PASSWORD=test123
volumes:
- /data/mysql
spring-boot-jpa-app:
image: kbdockerimage
build:
context: ./
dockerfile: Dockerfile
depends_on:
- mysql-docker-container
ports:
- 8087:8080
volumes:
- /data/spring-boot-app
我面临使用Docker Compose Task将Docker映像推送到我的Docker Hub帐户的问题。我在管道文件中使用以下代码来推送docker映像。在这里,kumaresh-dh
是Docker集线器的服务连接的名称。
- task: DockerCompose@0
displayName: Push services
inputs:
action: Push services
containerregistrytype: Container Registry
containerRegistry: kumaresh-dh
dockerComposeFile: docker-compose.yml
projectName: $(dockerhubNS)/$(imageName):$(Build.BuildId)
根据文档,这是您应该指定连接的方式:
- task: DockerCompose@0
displayName: Container registry login
inputs:
containerregistrytype: Container Registry
dockerRegistryEndpoint: kumaresh-dh
action: Push services
dockerComposeFile: docker-compose.yml
projectName: $(dockerhubNS)/$(imageName):$(Build.BuildId)