Подсистема Windows для Linux (WSL) позволяет разработчикам запускать среды GNU/Linux (включая большинство инструментов, утилит и приложений командной строки) непосредственно в Windows «как есть», без использования традиционных виртуальных машин или двойной загрузки Set.
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 Ядро.
Применимо кLinuxизWindowsПодсистема
и Платформа виртуальных машин
PowerShell
или CMD
Установить версию WSL по умолчаниюwsl --set-default-version 2
# Посмотреть доступные версии Установитьиз
wsl --list --online
# Установить указанный дистрибутив Linux.
# wsl --install -d <Distribution Name>
wsl --install -d Ubuntu
# Войдите в дистрибутив Linux
wsl
Скачать адрес:https://docs.docker.com/desktop/install/windows-install/
Установлено Docker Desktop
После этого вы можете напрямую запустить команду Docker в дистрибутиве Linux.
Windows
УстановитьDocker Desktop
Автоматически устанавливаетсяdocker-compose
# Посмотреть все докерконтейнеры
sudo docker ps -a
существовать E:\www
Создать новый под docker-compose.yaml
документ
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.conf
NginxКонфигурациядокумент
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
Успешно построено, доступ через браузер http://127.0.0.1/
Проект пуст Laravel
Например,Но осторожные друзья могут обнаружить, что,Скорость ответа особенно низкая,возможносуществовать6sо,Это сильно повлияло на эффективность нашего развития.,Далее займемся оптимизацией.
оптимизацияплан:《Решить WSL2 Docker работает медленно из-за проблемы》