WSL2 + Docker配置
推荐原文阅读:WSL2 + Docker安装及使用 csdn文章介绍1.开发环境python3.9django == 3.22.环境搭建2.1: 什么是WSL2?wsl 是适用于 Linux 的 Windows 子系统(英语:Windows Subsystem for Linux,简称WSL)。是一个为在Windows 10和Windows Server 2019上能够原生运行Linux二进制可执
推荐原文阅读:WSL2 + Docker安装及使用 csdn文章介绍
1.开发环境
python 3.9
django == 3.2
2.环境搭建
2.0:什么是Docker
docker是一个用来装应用的容器,就像杯子可以装水,笔筒可以放笔,书包可以放书,可以把hello word放在docker中,可以把网站放入docker中,可以把任何想得到的程序放在docker中.官方解释:开源,跨平台支持,Windows,macos,linux。【Docker】可以理解为集装箱,标准化。
- 解决系统环境不一致:配置全部放到集装箱里.再打包放到鲸鱼上,由鲸鱼给我们送到服务器上,在我的机器上怎么运行,在别的机器上也怎么运行.不会有任何的问题.一句话就是docker解决了运行环境不一致所带来的问题.
- 双11来了,服务器撑不住了怎么办?
大部分系统业务量并不是每天都比较平均的,特别是一些电商系统,每天总有那么几天业务量是平时的几倍甚至几十倍,如果按双11的规模去准备服务器那么对于平时的规模来说又是极大的浪费,所以就在节日前临时扩展机器,过完节再把多余的节点下线,这就给运维带来了非常大的工作量,一到过节就在各个机器上部署各种各样的服务,我们启动程序需要java,tocmat等等,并且还可能起不来还要调试,这是非常恶心的工作,有了docker一切都变得美好了,只要点一下服务器就可以从10台变成100台甚至1000,1W台.都是分分钟的事情.
为什么会这么快呢?都是用标准的方式把我们的程序运过来,下载过来,再用标准的方式把它运行起来,就可以做到只要在每台机器上都执行一两条命令,就可以让程序正常跑起来,并且不用担心有问题.
2.1: 什么是WSL2?
wsl 是适用于 Linux 的 Windows 子系统(英语:Windows Subsystem for Linux,简称WSL)。是一个为在Windows 10和Windows Server 2019上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层,可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。
简单来说,以前想在windows中使用linux,需要安装vmware虚拟机,现在则不比这么麻烦了,直接安装linux子系统,秒开。更轻便,更快速
2.2: windows系统要求/升级
- Windows: Windows 10,64位 内存至少8G
- 升级 Win10到v2004的内部版本19041或更高版本
未达到系统要求,Windows 10官方提供链接:https://www.microsoft.com/zh-cn/software-download/windows10
点击该下载的软件直接按要求升级 windows系统
2.3 安装wsl2和ubuntu18.04
- 在电脑搜索图标下,搜索 功能
- 然后在搜索,里搜索商店
- 在商店里搜索ubuntu18.04 LTS 安装(推荐18.04稳定)
3:WSL2下安装Docker
3.1:wsl切换wsl 2版本
WSL2就是linux系统(windows里的linux系统)
命令: windows下win+r 运行输入CMD,输入以下命令:(推荐以管理员运行)
wsl -l -v # 查看当前wsl版本
命令: 执行wsl转化为wsl2
wsl --set-version Ubuntu-18.04 2
命令:将 WSL2 设置为默认版本
wsl --set-default-version 2
3.2: wsl 切换wsl2 提示(需要更新其内核组件)
- https://docs.microsoft.com/zh-cn/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package 打开下载更新包
- 点击安装即可
3.3:安装Docker前设置软件源
1.搜索中启动wsl图标命令窗口 或者 cmd中输入wsl 也能进入
docker官方文档安装教程 https://docs.docker.com/engine/install/ubuntu/
1.设置存储库:
更新apt包索引并安装包以允许apt通过 HTTPS 使用存储库:
命令1:
sudo apt-get update
命令2:
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
命令3:添加 Docker 的官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
命令4:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
安装Docker
$: sudo apt-get update
$: sudo apt-get install docker-ce docker-ce-cli containerd.io
测试Docker是否安装成功
$: sudo service docker start # 启动docker服务器
$: sudo docker run hello-world # docker是否运行
设置非root用户运行docker
$: sudo groupadd docker
$: sudo usermod -aG docker $USER
$: newgrp docker
3.4:WSL2中安装docker-compose
为什么要安装docker-compose,安装后可以一条命令启动mysql和redis。
引用:https://blog.csdn.net/pushiqiang/article/details/78682323 查看相关docker-compose介绍
1.输入命令直接安装docker-compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2.输入命令:
sudo chmod +x /usr/local/bin/docker-compose
采用sudo curl -l … 命令执行会有报错: .UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xb0 in position 24: invalid start byte。改用课程提供的文件替换
报错的原因是默认的mysql,redis不处理中文字符集的。
用记事本打开:docker-compose.yml 文件内容如下
version: "3"
services:
redis:
image: redis:5-alpine3.13
ports:
- 6379:6379
networks:
- dj-net
mysql:
image: nulls/mysql:5.7-cnf
ports:
- 3306:3306
volumes:
- /home/dj/docker_mnts/db_data/mysql:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: 123456
networks:
- dj-net
networks:
dj-net:
driver: bridge
3.4.1: 测试是否安装成功mysql和redis。
命令:启动mysql
docker run -it --rm --network host nulls/mysql:5.7-cnf mysql -h 127.0.0.1 -u root -p
命令:启动redis
docker run -it --network host --rm redis:5-alpine3.13 redis-cli
4:打开电脑ubuntu18.04版本文件
在文件夹路径中输入: \ \ wsl$
更多推荐
所有评论(0)