Environment variables from docker-compose .env to Dockerfile

1. Declare the variables in .env

PHPFPM_IMAGE=php:7.2-fpm
USER_ID=1000

2. Pass the variables to Dockerfile using args in docker-compose.yml

version: '3'
services:

  app:
    build:
      context: .
      dockerfile: Dockerfile
      args:
        PHPFPM_IMAGE: ${PHPFPM_IMAGE}
        USER_ID: ${USER_ID}

3. Use the keyword ARG to receive the variables in Dockerfile

# ARG to use WITH "FROM"
ARG PHPFPM_IMAGE

FROM $PHPFPM_IMAGE

# ARG to use UNDER FROM
ARG USER_ID

# Declare again if you want to the variable UNDER FROM
ARG PHPFPM_IMAGE

Just make sure that you put the ARG keyword in the right place. In your Dockerfile, if you specify ARG before the FROM instruction, ARG is not available in the build instructions under FROM. If you need an argument to be available in both places, also specify it under the FROM instruction.

Ref: https://docs.docker.com/compose/compose-file/

0 0 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments