首页 > 系统相关 >Windows for Docker 搭建LNMP开发环境

Windows for Docker 搭建LNMP开发环境

时间:2022-12-16 23:33:45浏览次数:68  
标签:run etc Windows LNMP nginx mysql docker php Docker

转载至《Docker - Windows上搭建LNMP环境

1 windows安装Docker Desktop

下载地址

注:请仔细查看安装环境要求,否则容易做无用功

Hyper-v如果开启的话电脑有装VMware的话会VMware无法运行

附上 Hyper-v开启关闭命令,命令执行之后需要重启电脑生效。

1 bcdedit /set hypervisorlaunchtype off  关闭
2 bcdedit /set hypervisorlaunchtype auto 开启

2 下载镜像

1 docker pull nginx:latest
2 docker pull php:8.1-fpm
3 docker pull mysql:8.0
4 dokcer pull redis:latest

2.1 配置准备

我的宿主机文件配置:

1 # 存放容器配置文件夹 
2 E:\docker\etc

etc里面的mysql、nginx、php分别存放相应的容器配置

 

 

 

nginx:

1 docker run --name tmp-nginx -d nginx
2 docker cp tmp-nginx:/etc/nginx E:\docker\etc\nginx
3 docker rm -f tmp-nginx

php:

1 docker run --name tmp-php-fpm -d php:8.1-fpm
2 docker cp tmp-php-fpm:/usr/local/etc E:\docker\etc\php
3 docker rm -f tmp-php-fpm

mysql:

1 cd E:\docker\etc
2 mkdir mysql
3 cd mysql
4 mkdir conf
5 mkdir logs
6 mkdir data

2.2 实例化容器

# 顺序:[因为前后有依赖【link】关系]
mysql-->redis-->php-fpm-->nginx

mysql

1 docker run --name run-mysql-80 -p 33060:3306 -e 
2 MYSQL_ROOT_PASSWORD=root 
3 -v E:\docker\etc\mysql\conf:/etc/mysql/conf.d 
4 -v E:\docker\etc\mysql\logs:/logs 
5 -v E:\docker\etc\mysql\data:/var/lib/mysql -d mysql:8.0

redis

1 docker run --name run-redis-latest -p 6379:6379 -d redis:latest

php-fpm

1 docker run --name run-php-81-fpm 
2 -v E:\project:/var/www/html 
3 -v E:\docker\etc\php:/usr/local/etc 
4 -v E:\docker\etc\php:/var/log/php -d php:8.1-fpm

nginx

1 docker run --name run-nginx-latest -p 8080:80 
2 -v E:\project:/usr/share/nginx/html 
3 -v E:\docker\etc\nginx:/etc/nginx 
4 -v E:\docker\log\nginx:/var/log/nginx 
5 --link run-php-81-fpm:php-fpm-container 
6 --link run-redis-latest:redis 
7 --link run-mysql-80:mysql -d nginx:latest

 

 

 

3 部署测试

编辑E:\docker\etc\nginx\conf.d路径下的default.conf文件

 1 server {
 2     listen       80;
 3     listen  [::]:80;
 4     server_name  localhost;
 5     #access_log  /var/log/nginx/host.access.log  main;
 6 
 7     location / {
 8         root   /usr/share/nginx/html/LaravelAdmin/public;
 9         # 测试用的是Laravel如首页访问正常其他页面404,需加入如下配置
10         try_files $uri $uri/ /index.php?$query_string;
11         index index.php  index.html index.htm;
12     }
13 
14     #error_page  404              /404.html;
15 
16     # redirect server error pages to the static page /50x.html
17     #
18     error_page   500 502 503 504  /50x.html;
19     location = /50x.html {
20         root   /usr/share/nginx/html;
21     }
22 
23     # proxy the PHP scripts to Apache listening on 127.0.0.1:80
24     #
25     #location ~ \.php$ {
26     #    proxy_pass   http://127.0.0.1;
27     #}
28 
29     # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
30     #
31     location ~ \.php$ {
32         root           html;
33         # link过来的容器名称php-fpm-container
34         fastcgi_pass   php-fpm-container:9000;
35         fastcgi_index  index.php;
36         # 此处配置 /var/www/html/LaravelAdmin/public 初始php容器时映射的目录是/var/www/html,不指定php容器无法解析目录会报错
37         # “2022/12/16 12:24:15 [error] 24#24: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.17.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://172.17.0.4:9000", host: "127.0.0.1:8080"”
38         # 问题参考《【Docker】FastCGI sent in stderr: "Primary script unknown" while reading39         fastcgi_param  SCRIPT_FILENAME  /var/www/html/LaravelAdmin/public$fastcgi_script_name;
40         include        fastcgi_params;
41     }
42 
43     # deny access to .htaccess files, if Apache's document root
44     # concurs with nginx's one
45     #
46     #location ~ /\.ht {
47     #    deny  all;
48     #}
49 }

 访问

 

标签:run,etc,Windows,LNMP,nginx,mysql,docker,php,Docker
From: https://www.cnblogs.com/chenjiangbin/p/16988491.html

相关文章

  • Docker报错:Error response from daemon: conflict: unable to remove repository refe
    解决报错内容是因为镜像被容器引用,那么删除容器在删除镜像。#查看容器dockerps-a#停止容器dockerstop***#删除容器dockerrm1c21d7ca4d79容器删除......
  • Windows 10 G 神州网信政府版
    ​神州网信政府版2018版:Win10CMGE_V0-H.1020.000.iso校验码:9484e568c6505f9c4ad5b9fcf7ec8d83588eebfb38089f53e3301112076fb7f2下载地址:https://download.cmgos.com/a......
  • Docker 操作手册
    文章目录​​一、docker基础篇​​​​1.常用命令​​​​2.镜像操作​​​​3.容器操作​​​​4.文件拷贝​​​​5.目录挂载​​​​6.Docker镜像备份与迁移​​......
  • 虚拟机系统故障docker无法正常启动
    故障现象CentOS系统启动时出现Failedtomount/sysroot错误,导致系统无法正常启动。正常进入系统后,docker无法正常使用,出现Failedtoconnecttocontainerd:failedto......
  • Windows 下如何优雅的使用 Burp Suite
    之前一直使用但是BurpSuite2.1.6后面由于需要高版本的JAVA了就没有再折腾下去,但是最近圈子里一直传着2020.9.1的版本,国光安装了一下,发现同时也封装好JDK了,这样可......
  • docker
    1docker入门#虚拟化在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实......
  • Windows各个系统勒索补丁下载地址
    WindowsXP WindowsXPSP3安全更新程序(KB4012598)下载地址​​https://www.microsoft.com/en-us/download/details.aspx?id=55245​​WindowsXPSP2x64(64位)安全更......
  • Docker的资源控制管理
    一、CPU控制cgroups,是一个非常强大的linux内核工具,他不仅可以限制被namespace隔离起来的资源,还可以为资源设置权重、计算使用量、操控进程启停等等。所以cgroups(Contr......
  • 记一次arm银河麒麟V10部署docker,zabbix
     添加CentOS-7仓库的变量echo7>/etc/yum/vars/releasever为啥是7,我用到的是CentOS-7的软件源,你们用来其他版本的自由设置。不设置该变量,会导致Docker源失效。......
  • 解决Windows下WSO2 App Server和ESB Server安装冲突问题
    引发冲突的地方有两处:(1)服务名称,两者(及其他WSO2Carbon套件)的Windows服务名称都是WSO2Carbon(2)端口冲突假设我们已经安装了AppServer,服务名称为WSO2Carbon,现......