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

文章目录

        • 介绍
        • 准备
        • 使用步骤
        • 常用命令
        • 附录
          • Mac安装docker-sync
          • 日常使用
          • mac使用
        • mac使用遇到宿主机改文件无法同步到容器中的处理办法

介绍


采用docker-compose来做容器编排,包含nginx-server、php两个容器,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

你可能感兴趣的:(docker)