docker-compose 配置 lnmp

安装配置

github

curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
  • Apply executable permissions to the binary:
chmod +x /usr/local/bin/docker-compose

pip 安装

  • 安装python-pip
yum -y install epel-release
yum -y install python-pip
  • 安装docker-compose
pip install docker-compose

目录结构

docker
├── docker-compose.yml
├── mysql
│      └── dockerfile
├── nginx
│       ├── conf
│       │    ├── nginx.conf
│       │    └── vhost
│       ├── dockerfile
└── php7 
         ├── conf
         │    └── php.ini
         └── dockerfile

编写 Dockerfile文件

# 基础镜像
FROM php:7.0-fpm
# usermod
RUN usermod -u 1000 www-data

编写 yml 配置文件

version: '3.3'
services:
  mysql:
    build:
      context: /home/docker/mysql
      dockerfile: Dockerfile
    ports:
      - "3306:3306"
    volumes:
      - /home/docker-data/mysql/data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root
    container_name: mysql-server
    restart: always

yml 配置项说明:

  • version:docker-compose 的版本说明
  • ports :主机和容器的端口对应
  • volumes:挂载,容器的目录挂载在主机的目录上的对应
  • environment :设置环境变量,例如:mysql 中的 - MYSQL_ROOT_PASSWORD=root 设置 mysql的root用户的密码是 root

运行执行命令来自动构建容器 如下:

docker-compose up -d

查看一下 容器的状态

docker-compose ps
Name               Command               State                         Ports                       
mysql   docker-entrypoint.sh mysqld      Up      0.0.0.0:3306->3306/tcp                            
nginx   /usr/local/nginx/sbin/ngin ...   Up      0.0.0.0:433->433/tcp, 443/tcp, 0.0.0.0:80->80/tcp 
php7    /usr/local/php7/sbin/php-f ...   Up      0.0.0.0:9000->9000/tcp  

完整示例

https://download.csdn.net/download/diandianzhangda/10486000

参考

以下是使用docker-compose搭建lnmp的步骤: 1.创建一个项目目录,例如lnmp,进入该目录并创建一个docker-compose.yml文件。 2.在docker-compose.yml文件中定义三个服务:nginx、php和mysql。其中,nginx服务使用官方的nginx镜像,php服务使用自己编译的php-fpm镜像,mysql服务使用官方的mysql镜像。 3.在docker-compose.yml文件中定义三个网络:frontend、backend和mysql。其中,frontend网络用于连接nginx和php服务,backend网络用于连接php和mysql服务,mysql网络用于连接mysql服务。 4.在docker-compose.yml文件中定义三个卷:nginx-conf、nginx-logs和php-src。其中,nginx-conf卷用于存放nginx的配置文件,nginx-logs卷用于存放nginx的日志文件,php-src卷用于存放php的源代码。 5.在docker-compose.yml文件中定义三个环境变量:MYSQL_ROOT_PASSWORD、MYSQL_DATABASE和MYSQL_USER。其中,MYSQL_ROOT_PASSWORD用于设置mysql的root用户密码,MYSQL_DATABASE用于设置mysql的默认数据库,MYSQL_USER用于设置mysql的普通用户。 6.在docker-compose.yml文件中定义三个挂载点:./nginx.conf:/etc/nginx/nginx.conf、./nginx-logs:/var/log/nginx和./php-src:/var/www/html。其中,./nginx.conf用于挂载nginx的配置文件,/nginx-logs用于挂载nginx的日志文件,./php-src用于挂载php的源代码。 7.在项目目录中创建一个nginx.conf文件,用于配置nginx的虚拟主机。 8.在项目目录中创建一个index.php文件,用于测试php服务是否正常工作。 9.在项目目录中运行docker-compose up命令,启动lnmp服务。 10.在浏览器中访问http://localhost,即可看到php服务返回的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值