当前位置: 首页 > 编程笔记 >

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

慕容典
2023-03-14
本文向大家介绍win10 docker-toolsbox 搭建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开发环境的教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

 类似资料:
  • 本文向大家介绍Mac下搭建php开发环境教程,包括了Mac下搭建php开发环境教程的使用技巧和注意事项,需要的朋友参考一下 Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便。本文以Mac OS X 10.6.3为例。主要内容包括: 启动Apache 运行PHP 安装MySQL 使用phpMyAdmin 配置PHP的MCrypt扩展库 设置虚拟主机 启动Apache 有两种方法

  • 本文向大家介绍JAVA开发环境搭建教程,包括了JAVA开发环境搭建教程的使用技巧和注意事项,需要的朋友参考一下 一、安装JDK 1、 JVM(Java Virtual Machine—Java虚拟机) JRE(Java Runtime Environment—Java运行时环境) JDK(Java Development kit—Java开发工具包) 2、JDK包含了JRE和JVM,所以安装了JD

  • 本文向大家介绍windows7下php开发环境搭建图文教程,包括了windows7下php开发环境搭建图文教程的使用技巧和注意事项,需要的朋友参考一下 Windows7操作系统,在Windows平台上搭建PHP的开发环境可以下载WAMP(Windows、Apache、MySQL、PHP的首字母缩写)集成化安装包。 PHP这样集成开发环境有很多,如XAMPP、AppServ......只要一键安装就

  • 依照以下操作,你可使用Docker在Mac,Linux上搭建PPMessage开发环境。 前言:Docker 的作用 ? Docker allows you to package an application with all of its dependencies into a standardized unit for software development. Docker containe

  • 要开发kibana 插件,首先要在本地搭建开发环境,我这里推荐使用vs code,如果问我为什么,我只想说这么火的开发工具,不用一下,怎么跟上世界开发潮流呢。 第一步 首先 需要安装node.js,可以去官网下载最新版本,对于如何安装就不废话了。 第二步 下载 kibana 源代码,在github下载即可。 第三步 在kibana项目根目录下执行 1. $ git tag 2. $ git che

  • 简单起见,一开始的服务器只会是一个工程,构建会也只是一个jar包。 开发环境就用最流行的java8、maven3,IDE可以随自己喜好。 新建maven工程,如下: POM文件如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi