`
xieye
  • 浏览: 806610 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

用docker搭建php开发环境(3)

阅读更多
docker搭建php系列文章
用docker搭建php开发环境
用docker搭建php开发环境(2)
用docker搭建php开发环境(3)

上一篇文章中,提到了使用docker过程中可能遇到的坑。

这次解释一下。

在win10家庭版中,这个坑是最大的。

因为,win7没有win10这么复杂的文件权限。
而 win10 专业版 自带 docker环境。

只有win10 home即家庭版,文件夹权限复杂,又没有专用的docker环境。

目前,我实际遇到的问题是mysql,其实真实原因是mysql5.7对文件权限要求高,linux下能满足,windows下讨厌,而别的软件没数据库这么讲究。
另外3个,nginx,php,redis貌似没有问题。

怎么解决mysql5.7在win10 家庭版中的docker?

其实就是解决两个问题,1配置文件,2数据文件。
经检测,mysql的日志文件对文件权限没啥要求。
配置文件,它无法读取共享文件夹的内容,因为无法设置644权限(win10权限复杂)。
解决方案是dockerfile文件中,使用copy命令 拷贝到 /etc/mysql/conf.d这个目录下。
就算搞定了!!再设置644,因为在镜像里,所以必定成功。
该目录下还有docker.cnf,如果愿意,可以写个空文件拷贝过去。

类似以下脚本,需要预先在D:\docker_study\zphal\files\mysql下,放两个自己写的配置文件。

COPY ./mysql-file.cnf /etc/mysql/conf.d/mysql-file.cnf
COPY ./docker.cnf /etc/mysql/conf.d/docker.cnf
RUN chmod 644 /etc/mysql/conf.d/docker.cnf \
    && chmod 644 /etc/mysql/conf.d/mysql-file.cnf


数据文件怎么办?谷哥后得知
  mysql-db:
      build: ./mysql
      ports:
        - "3306:3306"
      volumes:
        - ../data/mysql:/var/lib/mysql:rw
        - ../logs/mysql:/var/lib/mysql-logs:rw
      environment:
        MYSQL_ROOT_PASSWORD: 123456
        MYSQL_DATABASE: zphaldb
        MYSQL_USER: zphal
        MYSQL_PASSWORD: zphal123
      restart: always
      command: "--character-set-server=utf8  --explicit_defaults_for_timestamp  --innodb-flush-method=O_DSYNC --innodb-use-native-aio=0 "


最后那两个innodb的命令,其实是让mysql放宽权限的参数。使用即可搞定。

同理,假设不使用docker-compose,直接用命令启动mysql容器也一样,把那两个命令加上即可。

最后,本文关于mysql,这么搞的目的都是希望mysql的数据能够单独保留在容器外。假设不在乎这个,数据依然在容器内,那么完全不需要这么麻烦,直接启动容器即可。






0
0
分享到:
评论

相关推荐

    用docker搭建php开发环境

    NULL 博文链接:https://xieye.iteye.com/blog/2425200

    docker 快速搭建php环境 docker包,一键启动开发环境

    docker 快速搭建php环境 docker包,一键启动开发环境,docker 快速搭建php环境 docker包,一键启动开发环境

    利用Docker搭建Laravel开发环境的完整步骤

    在这篇文章中我们将通过Docker在个人本地电脑上构建一个快速、轻量级、不依赖本地电脑所安装的任何开发套件的可复制的Laravel和Vue项目的开发环境(开发环境的所有依赖都安装在Docker构建容器里),加入Vue只是因为...

    使用docker搭建一套开发环境全家桶的详细教程

    是适用于多端的一款docker开发与生产环境的PHP环境全家桶。 DNMP项目特点: 100%开源 100%遵循Docker标准 支持多版本PHP共存,可任意切换(PHP5.4、PHP5.6、PHP7.1、PHP7.2、PHP7.3) 支持绑定任意多个域名 支持...

    docker搭建适合thinkphp5的lnmp+redis开发环境

    docker搭建适合thinkphp5的lnmp+redis开发环境,nginx版本为最新版本 php版本为7.3 mysql版本为5.7 需要先安装了composer 和docker环境 在html目录下面执行composer update下载第三方开发包 之后执行docker-compose ...

    docker-compose快速搭建lnmp开发环境

    快速的搭建一个php开发环境,镜像包括php,mysql,nginx,适合php的开发者

    Docker的完整PHP开发环境。-PHP开发

    基于Docker的完整PHP开发环境。 支持各种通用服务,所有这些都预先配置为提供完整PHP开发环境。 首先使用Docker-然后再了解它! 基于Docker的完整PHP开发环境。 支持各种通用服务,所有这些都预先配置为提供完整PHP...

    Ubuntu下搭建PHP开发环境

    Ubuntu下搭建PHP开发环境的搭建 (Apache服务器,Mysql数据库,PHP模块,以及phpmyadmin的安装)

    docker搭建适合thinkphp6的lnmp+redis开发环境

    docker搭建适合thinkphp6的lnmp+redis开发环境,nginx版本为最新版本 php版本为7.3 mysql版本为5.7 redis版本为5.0,thinkphp6的代码放到html目录下面 执行docker-compose up -d ,启动容器

    Docker搭建自己的PHP开发环境

    本文给大家介绍的是如何在docker中搭建一个PHP的开发环境,将用 zPhal-dockerfiles 做为例子,有需要的小伙伴可以参考下

    docker下一键自动部署PHP环境

    docker下 搭建 PHP+mysql+redis+nginx 开发环境, 并实现一键自动化部署,保证了在各个平台上的一致性,既方便又高效。

    使用 Docker 搭建 Laravel 本地环境的教程详解

    Homestead 是一个官方预封装的 Vagrant Box,也就是一个虚拟机,但是跟 docker 比,它占用体积太大,启动速度慢,同时响应速度很慢,现在有了 docker 这种更好的方式,可以轻松方便的搭建整套 PHP 开发环境。...

    win10 docker-toolsbox 搭建php开发环境的教程

    主要介绍了win10 docker-toolsbox 搭建php开发环境的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    LAMP环境安装 linux + apache + mysql + php

    手把手叫你安装linux下php环境 包括 卸载旧版本的apache mysql等 安装GD zlib libxml libmcrypt libpng 等等php需要的组建 整个文档非常详细 自己下了看吧 查询系统中已安装的Apache相关软件包 # rpm -qa|grep -i ...

    docker-php7-web:用docker 建立lamp 开发环境

    用docker 建立lamp 开发环境 简介 基础为使用ubuntu + apache2 + mysql + php7.2 的开发环境。 使用nginx 作为reverse-proxy,如果需要新增网站,只需新增container ,在docker-compose.yml 增加VIRTUAL-HOST 即可。...

    Docker 如何布置PHP开发环境

    本文主要介绍了如何使用Docker构建PHP的开发环境,文中作者也探讨了构建基于Docker的开发环境应该使用单容器还是多容器,各有什么利弊。推荐PHP开发者阅读。

    搭建基于Docker的PHP开发环境的详细教程

    现在很多开发者都使用Vagrant来管理他们的虚拟机开发环境,Vagrant确实很酷, 不过也有不少缺点(最主要的是它占用太多的资源)。在容器技术、Docker和更多类Docker技术出现后,解决这个问题就变得简单了。 免责声明...

Global site tag (gtag.js) - Google Analytics