当前位置: 首页 > news >正文

使用docker部署lnmp多站点

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
http://www.lryc.cn/news/210966.html

相关文章:

  • 实例详解:Java使用JWT和Redis实现高效单点登录(SSO)
  • SQL中使用ROLLUP和CUBE函数轻松生成汇总行
  • CentOS 7 安装和配置java环境
  • 「实验记录」CS144 Lab0 networking warmup
  • html5怎么实现语音搜索
  • 吴恩达《机器学习》1-2:什么是机器学习?
  • 基于STC系列单片机实现定时器扫描数码管显示定时器/计数器产生频率的功能
  • Linux环境开发工具yum、makefile的使用 【Linux】
  • 第六章(6):Python中的函数—闭包和装饰器
  • Linux--安装与配置虚拟机及虚拟机服务器坏境配置与连接---超详细教学
  • 基于SSM的个性化美食推荐系统设计与实现
  • Django 全局配置 settings 详解
  • uniapp接口请求api封装,规范化调用
  • 色彩校正及OpenCV mcc模块介绍
  • 2023mathorcup大数据数学建模竞赛A题坑洼道路识别67页完整高质量原创论文
  • 【k8s】5、资源管理命令-声明式
  • 信息系统项目管理师教程 第四版【第6章-项目管理概论-思维导图】
  • 【Flutter】Flutter 中的图片管理 图片优化的最佳实践
  • dash--项目的前端展示简单基础
  • LeetCode 面试题 16.06. 最小差
  • css-表格样式
  • Linux对网络通信的实现
  • 【开源】基于SpringBoot的车险自助理赔系统的设计和实现
  • 减少磁盘读/写中延迟时间的方法(交替编号,错位命名)
  • Perl爬虫程序
  • UE5使用Dash插件实现程序化地形场景制作
  • 23种设计模式(10)——门面模式
  • 磨人的Ts
  • 一个基于Excel模板快速生成Excel文档的小工具
  • 服务器动态/静态/住宅/原生IP都是什么意思