当前位置: 首页>后端>正文

Windows使用WSL2搭建Docker环境

什么是WSL2

WSL 2是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。 它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。

这一新的体系结构改变了这些 Linux 二进制文件与Windows 和计算机硬件进行交互的方式,但仍然提供与 WSL 1(当前广泛可用的版本)中相同的用户体验。

单个 Linux 分发版可以在 WSL 1 或 WSL 2 体系结构中运行。 每个分发版可随时升级或降级,并且你可以并行运行 WSL 1 和 WSL 2 分发版。 WSL 2 使用全新的体系结构,该体系结构受益于运行真正的 Linux 内核。

安装WSL2

打开控制面板启用适用于Linux的Windows子系统和虚拟机平台

Windows使用WSL2搭建Docker环境,第1张

使用PowerShell或CMD设置WSL默认版本

wsl --set-default-version 2

安装Linux发行版

# 查看可安装的发行版

wsl --list --online

# 安装指定的Linux发行版

# wsl --install -d <Distribution Name>

wsl --install -d Ubuntu

# 进入Linux发行版

wsl

Windows使用WSL2搭建Docker环境,第2张

安装Docker Desktop

下载地址:https://docs.docker.com/desktop/install/windows-install/

安装好Docker Desktop后,可直接在安装的Linux发行版中使用Docker命令了

Windows安装Docker Desktop已自动安装好docker-compose

# 查看所有docker容器sudo docker ps-a

version: '1.0'

services:

? php74:

? ? image: registry.cn-hangzhou.aliyuncs.com/cqcqs/php74-fpm

? ? container_name: php74

? ? restart: always

? ? ports:

? ? ? - 9000:9000

? ? volumes:

? ? ? - ./:/var/www/html

? ? networks:

? ? ? net:

? ? ? ? ipv4_address: 172.18.0.11

? nginx:

? ? image: nginx

? ? container_name: nginx

? ? restart: always

? ? ports:

? ? ? - 80:80

? ? volumes:

? ? ? - ./:/var/www/html

? ? ? - ./nginx.conf:/etc/nginx/conf.d/default.conf

? ? working_dir: /var/www/html

? ? links:

? ? ? - php74

? ? networks:

? ? ? net:

? ? ? ? ipv4_address: 172.18.0.12

networks:

? net:

? ? driver: bridge

? ? ipam:

? ? ? driver: default

? ? ? config:

? ? ? ? - subnet: 172.18.0.0/24

在E:\www下新建nginx.confNginx配置文件

server {

? ? listen 80;

? ? root /var/www/html/public;

? ? error_log /var/log/nginx/error.log;

? ? add_header X-Frame-Options "SAMEORIGIN";

? ? add_header X-XSS-Protection "1; mode=block";

? ? add_header X-Content-Type-Options "nosniff";

? ? index index.html index.htm index.php;

? ? charset utf-8;

? ? location / {

? ? ? ? try_files $uri $uri/ /index.php?$query_string;

? ? }

? ? location = /favicon.ico { access_log off; log_not_found off; }

? ? location = /robots.txt? { access_log off; log_not_found off; }

? ? error_page 404 /index.php;

? ? location ~ \.php$ {

? ? ? ? fastcgi_pass php74:9000;

? ? ? ? fastcgi_index index.php;

? ? ? ? fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

? ? ? ? include fastcgi_params;

? ? }

? ? location ~ /\.(?!well-known).* {

? ? ? ? deny all;

? ? }

}

构建项目容器

docker-compose up-d

Windows使用WSL2搭建Docker环境,第3张

构建成功,浏览器访问http://127.0.0.1/

Windows使用WSL2搭建Docker环境,第4张

项目以空的Laravel为例,但细心的朋友可能会发现,响应速度特别的慢,大概在6s左右,这极大影响了我们的开发效率


https://www.xamrdz.com/backend/38a1939112.html

相关文章: