虚拟化专栏14_docker-compose

本文介绍如何使用Docker-compose快速部署LNMP环境,包括安装Docker-compose、编写配置文件及启动容器的过程,实现nginx、php和mysql容器间的高效通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

绪论

----之前在docker的网络模式中提到过,在docker默认的bridge模式下,如何使用–link实现容器之间的简单通信。但是思考一个问题,当我们需要部署一个lnmp环境时,我们将nginx、php、mysql跑在3个不同的容器之上。如果我们想要使用–link的方式实现3个容器之间的通信的话,假如一个场景,我们向nginx发送一个php请求,nginx会将请求发送给php解析,php向mysql中查询数据,此场景就需要3个容器之间通信。我们需要首先创建mysql容器,然后创建php容器,在创建php容器时使用link与mysql通信,在创建nginx容器时使用link与php容器通信。此操作显得非常的麻烦。
----在此处我们使用docker-compose容器编排工具即可,将3者的配置文件映射(挂载到宿主机上),根据配置文件互相调用解析等,实现多个容器的部署。

安装docker-compose

两种安装方式,一种是curl安装,另一种是pip方式安装。
这里采用pip方式安装。
首先安装epel源

yum install -y epel-release

安装pip

yum install -y python-pip

下载安装docker-compose

yum install -y docker-compose

或者下载docker-compose的安装包赋权限后使用。
卸载docker-compose的方法
使用pip工具直接卸载即可

pip uninstall docker-compose

编写docker-compose文件搭建lnmp环境

首先准备好nginx配置文件、php测试文件、数据库访问页面,将上述文件放至你想要挂载的宿主机上的文件夹中。下面开始写docker-compose文件

version:"3"
services:
   nignx:
     image:nginx
     ports:
     - 80:80
     volumes:
     - 上述步骤中存储html文件的绝对路径xxx/html:/usr/share/nginx/html
     - 上述步骤中存储conf文件的绝对路径xxx/nginx.conf:/etc/nginx/nginx.conf
   php:
     image: php-fpm
     volumes:
     -  上述步骤中存储html文件的绝对路径xxx/html:/var/www/html
   mysql:
     image: mysql:5.6
     environment:
     - MYSQL_ROOT_PASSWORD=123456

最后使用docker-compose up -d命令后台启动,即可启动这3个容器,直接访问即可。此时就搭建好了lnmp架构,可以发现通过docker-compose非常的方便快捷。
----docker-compose更加适用于单机编排,当面向集群和多主机时,我们就需要使用docker swarm来将多个docker host中的容器整合为一个资源池然后管理。使用docker machine使得docker 主机满足加入docker swarm资源池的工具,后续的专栏中都会介绍到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值