linkbox php,win10 docker-toolsbox 搭建php开发环境的教程
下载镜像
docker pull mysql:5.7
docker pull php:7.2-fpm
docker pull nginx
docker pull redis:3.2
设置共享文件
宿主机创建目录
E:\wnmp\mysql57\conf
E:\wnmp\mysql57\log
E:\wnmp\php72\conf
E:\wnmp\php72\conf
E:\wnmp\nginx\conf
E:\wnmp\nginx\conf
E:\wnmp\www
vmware设置文件共享
如图
设置完成在Docker Quickstart Termina 执行 docker-machine restart default
安装Mysql
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql57 mysql:5.7
复制配置文件
PS C:\Windows\system32> docker cp mysql57:/var/log/mysql E:\wnmp\mysql57\log
PS C:\Windows\system32> docker cp mysql57:/etc/mysql E:\wnmp\mysql57\conf
重新安装mysql并指定配置文件
PS C:\WINDOWS\system32> docker stop mysql57
mysql57
PS C:\WINDOWS\system32> docker rm mysql57
mysql57
PS C:\WINDOWS\system32> docker run -d -v /wnmp/mysql57/log:/var/log/mysql/ -v /wnmp/mysql57/conf:/etc/mysql/ -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql57 mysql:5.7
初始化数据库
docker exec -ti mysql57 /bin/bash
mysql_secure_installation
#查看Mysql状态
root@d7bd0712bcf8:/# mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.28 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
安装PHP
PS C:\WINDOWS\system32> docker run -d -v /wnmp/www:/var/www/html -p 9000:9000 --link mysql57:mysql --name php72 php:7.2-fpm
复制配置文件
PS C:\Windows\system32> docker cp php72:/usr/local/etc E:\wnmp\php72\conf
PS C:\Windows\system32> docker cp php72:/usr/local/var/log E:\wnmp\php72\log
PS C:\Windows\system32> docker cp php72:/var/www/html E:\wnmp\www
重新安装PHP并指定配置文件
PS C:\WINDOWS\system32> docker stop php72
php72
PS C:\WINDOWS\system32> docker rm php72
php72
docker run -d -v /wnmp/php72/conf/etc:/usr/local/etc -v /wnmp/php72/log:/usr/local/var/log -v /wnmp/www:/var/www/html -p 9000:9000 --link mysql57:mysql --name php72 php:7.2-fpm
# 查看PHP版本
PS C:\Windows\system32> docker exec -ti php72 /bin/bash
root@742150f14d8a:/var/www/html# php -v
PHP 7.2.23 (cli) (built: Oct 5 2019 00:31:47) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Ngixn
安装
PS C:\WINDOWS\system32> docker run -d -p 80:80 --link php72:phpfpm --name nginx nginx:latest
复制配置文件
PS C:\Windows\system32> docker cp nginx:/etc/nginx/ E:\wnmp\nginx\conf
PS C:\Windows\system32> docker cp nginx:/var/log/nginx/ E:\wnmp\nginx\log
重新安装并指定配置文件
PS C:\WINDOWS\system32> docker stop nginx
nginx
PS C:\WINDOWS\system32> docker rm nginx
nginx
PS C:\WINDOWS\system32> docker run -d -p 80:80 -v /wnmp/www:/var/www/html -v /wnmp/nginx/conf/nginx:/etc/nginx/ -v /wnmp/nginx/log:/var/log/nginx/ --link php72:phpfpm --name nginx nginx
#浏览器访问 http://192.168.99.100/ 验证成功
Redis
docker run -p 6379:6379 -d redis:3.2 redis-server
PHP扩展安装
redis
PS C:\Windows\system32> docker exec -ti php72 /bin/bash
root@742150f14d8a:/var/www/html# pecl install -o -f redis
#安装完成,加入Ini配置 此时docker下的redis配置 在
E:\wnmp\php72\conf\etc\php\conf.d\docker-php-ext-sodium.ini
# 重启php
配置测试域名
#E:\wnmp\nginx\conf\nginx\conf.d目录下新建test.conf
#E:\wnmp\www目录新建test目录。目录下新建index.php 输出phpinfo;
server {
listen 80;
server_name test.com;
#charset koi8-r;
access_log /var/log/nginx/host.access.log main;
location / {
root /var/www/html/test;
index index.php index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /var/www/html/test;
fastcgi_pass 192.168.99.100:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
#nginx重新加载配置 或者重启。
#本地host解析域名test.com 访问 显示phpinfo正常
以上为所有安装配置以及测试。当然最后我们需要将这些docker容器加入到自动启动中
docker container update --restart=always php72
docker container update --restart=always mysql57
docker container update --restart=always nginx
docker container update --restart=always redis
总结
以上所述是小编给大家介绍的win10 docker-toolsbox 搭建php开发环境的教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
linkbox php,win10 docker-toolsbox 搭建php开发环境的教程相关推荐
- 修正《用Docker快速搭建Go开发环境》文章中的一处错误
上周写的文章<五分钟用Docker快速搭建Go开发环境>,文章发出去后有不少阅读量,而且从后台看的数据 60%的人都读完了.今天我自己用下面命令往 容器里的 Go 项目里下载包时发现了一处 ...
- docker配置python环境_PyCharm使用Docker镜像搭建Python开发环境
在我们平时使用PyCharm的过程中,一般都是连接本地的Python环境进行开发,但是如果是离线的环境呢?这样就不好搭建Python开发环境,因为第三方模块的依赖复杂,不好通过离线安装包的方式安装.本 ...
- mac php环境配置教程,Mac下搭建PHP 开发环境的教程(详细步骤)
本篇文章给大家带来的内容是关于Mac下搭建PHP 开发环境的教程(详细步骤),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. php 的本地开发环境,搭建很简单,成功启动三个进程就可以 ...
- 五分钟用Docker快速搭建Go开发环境
挺早以前在我写过一篇用 Docker搭建LNMP开发环境的文章:用Docker搭建Laravel开发环境,里面详细介绍了将 nginx. mysql和 php三个容器用 docker-compose编 ...
- docker容器没有apt_使用Docker快速搭建Rails开发环境
引言 Docker with rails 学习 Ruby On Rails 开发的同学经常会遇到因为电脑系统环境不同,同样的程序在自己这边跑起来没问题,给了其他人之后就是各种依赖或者环境问题,尤其是在 ...
- docker 添加端口映射_Docker快速搭建PHP开发环境详细教程
想必作为一个web开发的程序员,近些年对docker技术一定不会陌生,docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux ...
- 新手如何使用Docker来搭建PHP开发环境?
安装Docker 平时开发的环境一般都是Mac或者Windows,Linux暂时没有研究,所以接下来只针对前两者写下步骤,这两个平台,官方都推荐了两种安装方式:app和工具包(toolbox).注:a ...
- 使用Docker快速搭建Tensorflow开发环境
当我刚开始学习使用scikit-learn时,总是会出现各种各样的包依赖问题,兜兜转转了一遍才全部安装好,现在的机器学习算法开发者大都使用tensorflow.pytorch来实现自己的想法,但依然会 ...
- 使用Docker快速搭建PHP开发环境
一般我们会把nginx.php都安装在同一个容器,为了扩展方便,我们希望nginx容器和php容器分开.那么就可以使用docker link命令实现这一目的. 需要的镜像: nginx 1.12.2 ...
最新文章
- php 字节序,Linux_Linux中网络字节序和主机字节序,主机字节序就是我们平常说的 - phpStudy...
- 前向业务中间层的意义,架构,技能要求
- hdu 4681(枚举+dp)
- 17年第八届蓝桥杯省赛(C语言B组) 题解
- php公众号推荐,良心推荐6个优质实用又有趣的微信公众号!
- IntelliJ IDEA如何修改背景颜色样式
- STM32标准库与HAL库中的Mode和Pull设置
- 2010中国十大杰出IT博客大赛—唯有行动才能改造命运
- CMMI3级认证的条件是什么?
- magisk核心功能模式是什么_科技板块——深入解析MM管理器
- 适合初学者入手的vue项目
- lavaral中文手册_Laravel5.3手册下载
- 电脑蓝屏后的文件数据怎么恢复?电脑蓝屏的原因有哪些
- PostgreSQL 视图
- 中国网络游戏行业研究报告-2010
- CSS3时光流逝效果
- 2020-08-13 图像处理入门软件应该怎么选?Opencv matlab 和Python
- 办公室桌面计算机,我的办公室桌面(一切为了简洁)
- 机器指令与微指令之间的关系
- Java实现Excel和word转pdf加水印,复制及可用
热门文章
- 查询CPU占用高的SQL语句的解决方案
- html5和c3属性,H5与C3不得不说的知识点
- 微信公共平台接口开发--Java实现
- eazy ui 复选框单选_UI备忘单:单选按钮,复选框和其他选择器
- CMDB功能分析与实现方案
- RabbitMQ系列(二)深入了解RabbitMQ工作原理及简单使用
- android:versionCode和android:versionName 用途
- RedHat 5.4下构建postfix全功能电子邮(七)-extmail extman平台-(下集)
- 全球增长最快域名解析商Top10:中国占据四席
- Cache占用过多内存导致Linux系统内存不足问题排查