LINUX-NGINX-MYSQL-PHP的docker环境搭建

本文档介绍了如何利用docker-compose在本地搭建包含nginx、php和mysql的开发环境,详细阐述了准备步骤、使用过程、常用命令以及mac环境下可能遇到的问题和解决方案,确保代码和日志数据的持久化。同时,提供了mac上安装docker-sync的指南和解决文件同步问题的方法。
摘要由CSDN通过智能技术生成

介绍

采用docker-compose来做容器编排,包含nginx-serverphp两个容器,mysql采用宿主机上的mysql,项目代码、产生的日志通过数据卷和容器进行同步,防止删除容器丢失了数据。其中redis,mysql,MongoDB可以根据需要自动添加容器。git还是采用宿主机git。

准备

前提:本地安装好docker环境

mac: 需要安装docker-sync

本地80端口不要占用,如果不用80请修改config下的配置文件

默认hostname为 my.dev.me, 如果需要改自行处理

使用步骤

  1. 解压压缩包
  2. 克隆或者复制代码到www目录
  3. 如果是从git克隆的代码,打开docker-compose.yml文件,取消以下代码注释:
#    command:
#      - /bin/sh
#      - -c
#      - |
#          cd /var/www/html
#          composer install
#          composer dump-autoload -o
#          composer clearcache
  1. 如果不是第一次执行,需要检查第三步代码是否注释,(如果需要更新依赖包,根据情况打开command下的命令)
  2. 检查.env文件是否生成,如果不存在,手动生成
  3. 根据自己需要配置.env 文件,其中数据库请用宿主机信息,host固定为(host.docker.internal)
  4. 执行docker-compose up -d
常用命令

  • 关闭
docker-compose down
  • 重启nginx
docker-compose restart nginx
  • 查看是否启动容器状态
docker-compose ps
  • 查看容器启动时错误日志,用于检查那里不对
docker-sompose logs nginx
附录

Mac安装docker-sync
gem install docker-sync

如果要使用unison方式,需要安装:

brew install unison
brew install eugenmayer/dockersync/unox

如果要使用rsync方式,需要安装:

brew install rsync

官方文档

日常使用
docker-compose down
docker-compose stop
docker-compose start
docker-compose restart
mac使用
  1. 修改docker-compose.yml文件中的注释,如下
# Mac使用,打开注释
# - dolife-sync:/var/www/html/:rw
- ./www:/var/www/html/:rw # windows 系统使用注释
# Mac操作系统使用,需要先执行docker-sync start
# volumes:
#   dolife-sync:
#     external: true
  1. 执行docker-sync start
mac使用遇到宿主机改文件无法同步到容器中的处理办法

进入容器:

docker exec -it 容器名 /bin/bash

在容器中执行:

cd /var/www
chown -r www-data:www-data html

涉及的文件: github

个人博客链接:https://linjinwei.com/server/20190912084305.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员无为

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值