使用Docker Compose构建Nginx、PHP和MySQL的容器化环境

作者:4042024.02.16 03:32浏览量:9

简介:本文将介绍如何使用Docker Compose构建一个包含Nginx、PHP和MySQL的容器化环境。我们将通过Docker Compose文件来定义和配置各个容器的网络、端口映射、数据卷等,以便在本地或生产环境中运行。

在开始之前,请确保您已经安装了Docker和Docker Compose。如果您还没有安装,请访问Docker官方网站并按照说明进行安装。

首先,创建一个名为docker-compose.yml的文件,该文件将包含我们的容器化环境定义。在终端中,导航到包含docker-compose.yml文件的目录,并执行以下命令来启动容器化环境:

  1. docker-compose up -d

这个命令将使用docker-compose.yml文件中定义的配置来创建和启动所有需要的容器。容器将在后台运行(通过-d标志指定)。

接下来,我们需要创建一个包含Nginx、PHP和MySQL的Docker Compose配置文件。在docker-compose.yml文件中添加以下内容:

  1. version: '3'
  2. services:
  3. nginx:
  4. image: nginx:latest
  5. ports:
  6. - 8080:80
  7. volumes:
  8. - ./nginx.conf:/etc/nginx/nginx.conf
  9. - ./html:/usr/share/nginx/html
  10. networks:
  11. - my_network
  12. depends_on:
  13. - php
  14. php:
  15. image: php:latest
  16. networks:
  17. - my_network
  18. volumes:
  19. - ./php.ini:/usr/local/etc/php/php.ini
  20. - ./php-fpm.conf:/usr/local/etc/php-fpm.conf
  21. - ./www.conf:/usr/local/etc/php-fpm.d/www.conf
  22. - ./composer.json:/app/composer.json
  23. - ./composer.lock:/app/composer.lock
  24. - ./index.php:/var/www/html/index.php
  25. networks:
  26. - my_network
  27. mysql:
  28. image: mysql:latest
  29. environment:
  30. - MYSQL_ROOT_PASSWORD=my-secret-pw
  31. ports:
  32. - 3307:3306
  33. volumes:
  34. - ./mysql:/var/lib/mysql
  35. networks:
  36. - my_network
  37. networks:
  38. my_network: