Php Docker compose中的可变图像

Php Docker compose中的可变图像,php,docker,drupal,drupal-7,Php,Docker,Drupal,Drupal 7,我想给Docker compose文件中的drupal“image”标记赋值 docker-compose.yml version: '3' services: drupal: image: jonasvbogaert/digipolis-migration:latest container_name: drupalenv ports: - 8080:80 volumes: - ../drupal_site_eloket-brandwe

我想给Docker compose文件中的drupal“image”标记赋值

docker-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),我希望图像值在两个图像之间切换。

您可以在
docker compose.yml
中使用环境变量。更改如下

image: jonasvbogaert/digipolis-migration:latest

在bash脚本中,您将使用

export DRUPAL_VERSION=8 #will come from the user
docker-compose up -d
具有给定标记的两个图像实际上都应该预先存在。如果需要手动生成它们,则可以在Dockerfile中使用生成参数

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