I am currently learning Docker for a project and got a configuration to start on my PHP website that I intend to change. The problem is that even when I set up different versions in Dockerfile I get the same PHP version.
This is the output when I do the docker-compose up command. It keeps using the PHP version 7.0.33. That’s the version that it shows in the browser as well.
This is my docker-compose.yml file:
# tell docker what version of the docker-compose.yml were using version: '3' # define the network networks: web-network: # start the services section services: # define the name of our service # corresponds to the "--name" parameter docker-php-cli: # define the directory where the build should happened, # i.e. where the Dockerfile of the service is located # all paths are relative to the location of docker-compose.yml build: context: ./php-apache # reserve a tty - otherwise the container shuts down immediately # corresponds to the "-i" flag tty: true # mount the app directory of the host to /var/www in the container # corresponds to the "-v" option volumes: - ./app:/var/www # connect to the network # corresponds to the "--network" option networks: - web-network docker-nginx: build: context: ./nginx # defines the port mapping # corresponds to the "-p" flag ports: - "8080:80" tty: true volumes: - ./app:/var/www - ./nginx/conf.d:/etc/nginx/conf.d networks: - web-network docker-php-fpm: build: context: ./php-fpm tty: true volumes: - ./app:/var/www networks: - web-network
These are the Docker files: php-apache folder
FROM php:5.6-apache RUN pecl install xdebug-2.6.0 && docker-php-ext-enable xdebug
php-fpm folder
FROM php:5.6-fpm RUN pecl install xdebug-2.6.0 && docker-php-ext-enable xdebug
I would like to change it for PHP 5.6 but I couldn’t, then I tested with many other versions and it didn’t work.
I did try removing the RUN part from each Dockerfile.
Can someone help me with that?
Thank you!
Advertisement
Answer
You are using docker-compose up
what that command does is, it’s start containers from previously build images(to see images on you local use docker image ls
)
after changing Dockerfile what you need to do is run docker-compose down
and up again with –build flag. docker-compose up --build
Relevant document https://docs.docker.com/compose/reference/up/