如何使用docker部署lnmp多站点
作者:xkjscm
本文给大家介绍如何使用docker部署lnmp多站点,创建一个 Docker 网络以便容器可以在同一网络上进行通信,本文给大家介绍的非常详细,需要的朋友参考下吧
1. 创建一个 Docker 网络
以便容器可以在同一网络上进行通信
docker network create lnmpnetwork
2. 运行 MySQL 容器:
运行 MySQL 容器并将其连接到创建的网络。确保将 MySQL 的端口映射到宿主机上,以便您可以从宿主机访问数据库。
将mysql的配置和数据映射到宿主机中。
docker run -d --name mysql_5.7 --network lnmpnetwork \ -v /home/bh/workspace/docker/mysql/conf.d:/etc/mysql/conf.d \ -v /home/bh/workspace/docker/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=127.0.0.1 \ -p 3306:3306 mysql:5.7
3. 运行 PHP 容器:
运行包含 PHP 代码的容器,确保它也连接到创建的网络。您可以使用以下命令来运行 PHP 容器。
由于有多个站点,就启动多个php容器,都加入lnmpnetwork中,共享mysql和nginx。
3.1 创建第一个
docker run -d --name kd_php7.4 \ --network lnmpnetwork \ -v /home/bh/workspace/kd:/var/www/html php:7.4-fpm
3.2 创建第二个
docker run -d --name chat_server_php7.4 \ --network lnmpnetwork \ -v /home/bh/workspace/chat-server:/var/www/html php:7.4-fpm
4. 运行 Nginx 容器:
运行 Nginx 容器,将其连接到相同的网络,并将 Nginx 配置文件挂载到容器中。您可以使用以下命令来运行 Nginx 容器
在nginx中配置conf,指向对应的php容器
cd /home/bh/workspace/docker/nginx vim web.conf
server { listen 80; server_name site1.com; location / { proxy_pass http://site1-php-container:9000; # 使用 PHP 容器的名称 } } server { listen 80; server_name site2.com; location / { proxy_pass http://site2-php-container:9000; # 使用 PHP 容器的名称 } }
启动nginx容器
docker run -d --name nginx-container \ --network lnmpnetwork \ -p 80:80 \ -v /home/bh/workspace/docker/nginx:/etc/nginx/conf.d nginx:latest
到此这篇关于使用docker部署lnmp多站点的文章就介绍到这了,更多相关docker部署lnmp多站点内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!