Docker-compose中的可变图像

我想给一个Docker-compose文件中的drupal'image'标签赋值。

泊坞窗,compose.yml

version: '3' services: drupal: image: jonasvbogaert/digipolis-migration:latest container_name: drupalenv ports: - 8080:80 volumes: - ../drupal_site_eloket-brandweerzonecentrum/:/var/www/html/ restart: always environment: DRUPAL_SITE_NAME: Drupal DRUPAL_USER: admin DRUPAL_PASS: admin mariadb: image: mariadb:latest container_name: mariadbenv restart: always ports: - 3036:3036 depends_on: - drupal environment: MYSQL_ROOT_PASSWORD: "" MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' MYSQL_USER: drupal MYSQL_PASSWORD: drupal MYSQL_DATABASE: drupal 

在shell脚本的帮助下,我想问用户他们要使用的Drupal版本。 基于他们的答案(7或8),我希望图像值在2个图像之间切换。

你可以在docker-compose.yml使用环境variables。 改变如下

 image: jonasvbogaert/digipolis-migration:latest 

 image: jonasvbogaert/digipolis-migration:${DRUPAL_VERSION} 

在你的bash脚本中你可以使用

 export DRUPAL_VERSION=8 #will come from the user docker-compose up -d 

具有给定标签的图像实际上应该事先存在。 如果您需要手动构build它们,则可以在Dockerfile中使用构build参数。