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容器文章来源:https://www.toymoban.com/news/detail-719159.html
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容器文章来源地址https://www.toymoban.com/news/detail-719159.html
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多站点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!