I am trying to run a container. I already have the image uploaded to private Docker registry. I want to write a compose file to download and deploy the image. But I want to pass the TAG name as a variable from the docker-compose run command.My compose file looks like below. How can I pass the value for KB_DB_TAG_VERSION as part of docker-compose up command?
version: '3'
services:
db:
#build: k-db
user: "1000:50"
volumes:
- /data/mysql:/var/lib/mysql
container_name: k-db
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
image: XX:$KB_DB_TAG_VERSION
image: k-db
ports:
- "3307:3306"
You can create a
.env
file on the directory where you execute thedocker-compose up
command (and yourdocker-compose.yml
file is located) with the following content:Your
docker-compose.yml
file should look like the following (added{
and}
):I just answered almost the exact same question here: https://stackoverflow.com/a/52709818/229178
Then:
You have two options:
Prepend
KEY=VALUE
pair(s) to yourdocker-compose
command, e.g:Exporting it earlier in a script should also work, e.g.: