docker搭建LNMP开发环境

1. 安装docker,推荐win10专业版系统,win7系统安装使用docker

2. 从官方仓库下载镜像(推荐下载以alpine为基础的镜像)

  1. docker pull mysql:5.7
  2. docker pull php:5.6.38
  3. docker pull nginx:1.15.5

3. 初始化容器

  1. docker run -dit -p 3306:3306 -e MYSQL_ROOT_PASSWORD=docker123 --name mysql57 mysql:5.7
  2. docker run -dit -v E:/WWW:/home/wwwroot -p 9000:9000 --name php56 php:5.6.38-fpm
  3. docker run -dit -p 80:80 -v E:/WWW:/home/wwwroot --name nginx15 nginx:1.15.5

4. 为php容器安装扩展

  1. 首先进入容器:docker exec -it php5.6 /bin/bash
  2. 安装相关扩展:docker-php-ext-install mysqli (mysql,gd,curl,...)
  3. 安装镜像中非自带的扩展如(redis,memcached...),去下载扩展源码拷贝到/usr/src/php/ext/目录(如果目录不存在,执行docker-php-source extract)下并重命名为redis,docker-php-ext-install redis 安装扩展,重启容器。

5. 常用命令

  1. docker-machine ssh default 进入docker默认主机(win7)
  2. docker run -d 让容器在后台运行 -p 添加主机到容器的端口映射 -v 添加目录映射,即主机上的/var/nginx/www/html和容器中/var/www/html目录是同步的 –name 容器的名字 –link 与另外一个容器建立起联系,这样我们就可以在当前容器中去使用另一个容器里的服务。
  3. docker exec -it 容器ID或容器名 /bin/bash 进入容器
  4. docker stop/start/restart/kill 容器ID或容器名
  5. docker inspect 容器ID或容器名 | grep IPAddress 获得容器IP

6. 常见问题

  1. gd库缺少pnd,jpeg,webp...
  • debian容器(执行以下两条命令):
    • apt install -y libwebp-dev libjpeg62-turbo-dev libpng-dev libfreetype6-dev
    • docker-php-ext-configure gd --with-webp-dir=/usr/include/webp --with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-freetype-dir=/usr/include/freetype2
  • alpine容器(执行以下两条命令):
    • apk add --no-cache freetype-dev libjpeg-turbo-dev libpng-dev libwebp-dev
    • docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr --with-webp-dir=/usr
    • 最后执行docker-php-ext-install gd,重启容器。
  1. 容器中的时间不是北京时间
  • cd /etc/目录下查看是否存在localtime,如存在删除,执行:
    • ln -s /usr/share/zoneinfo/Asia/Shanghai localtime
    • echo "Asia/Shanghai" > /etc/timezone,重启容器。
  • 如果/usr/share/zoneinfo/Asia/Shanghai不存在,安装tzdata。
  1. Docker中的settings里的Shared Drives 选择对应盘符后,点击Apply后无法生效,没办法选择对应盘符进行分享
    • 按win + R键,输入gpedit.msc。
    • 计算机配置 -> windows设置 -> 安全设置 -> 本地策略 -> 安全选项 -> 网络访问:本地账户的共享和安全模型。
    • 设置为:经典 - 对本地用户进行身份验证,不改变其本来身份。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值