How to use Docker Compose to package and deploy multi-container PHP applications?
With the development of network applications, building and deploying complex multi-container applications has become more and more common. Docker is a popular containerization platform that helps us quickly build and deploy applications. And Docker Compose is a tool for defining and running multi-container Docker applications.
This article will introduce how to use Docker Compose to package and deploy a simple PHP application composed of multiple containers.
First, we need to create a docker-compose.yaml file that defines the container for our application. The following is a basic example:
version: '3' services: webserver: build: context: . dockerfile: Dockerfile ports: - "80:80" depends_on: - database volumes: - ./src:/var/www/html database: image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=secret - MYSQL_DATABASE=mydatabase - MYSQL_USER=myuser - MYSQL_PASSWORD=mypassword
The above file defines two services: webserver and database. The webserver is our PHP application container, which will build a Dockerfile-based image and mount the application's source code to the container's /var/www/html directory. It will map the local port 80 to the container's port 80, so that we can access the application by accessing localhost. The webserver also specifies that it depends on the database service.
The database service uses the official mysql:5.7 image and sets some environment variables to configure the settings of the MySQL database.
After preparing the docker-compose.yaml file, we can use the following command to start our application:
docker-compose up -d
The above command will create and start all containers. The -d parameter will cause Docker Compose to run in the background.
When the application is started, we can use the following command to view the status of the containers:
docker-compose ps
This command will display all running containers and their status.
If we need to update the application code or configuration, we only need to modify the local source code file. Since we mounted the source code into the container, changes to local files will be reflected in the container in real time.
When we want to stop the application, we can use the following command:
docker-compose down
This command will stop and delete all containers.
In addition to basic configuration, Docker Compose also provides many other functions, such as connecting container networks, setting environment variables, expansion, etc.
To summarize, using Docker Compose to package and deploy multi-container PHP applications is a fast and powerful way. By defining a docker-compose.yaml file, we can easily build, deploy and scale complex applications. Hope this article helps you!
The above is the detailed content of How to use Docker Compose to package and deploy multi-container PHP applications?. For more information, please follow other related articles on the PHP Chinese website!