WSL2 + Docker配置

推荐原文阅读: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或更高版本

WSL2 + Docker配置_第1张图片

未达到系统要求,Windows 10官方提供链接:https://www.microsoft.com/zh-cn/software-download/windows10

WSL2 + Docker配置_第2张图片
在这里插入图片描述

点击该下载的软件直接按要求升级 windows系统

2.3 安装wsl2和ubuntu18.04

  1. 在电脑搜索图标下,搜索 功能
    WSL2 + Docker配置_第3张图片
    WSL2 + Docker配置_第4张图片
  2. 然后在搜索,里搜索商店
    在这里插入图片描述
  3. 在商店里搜索ubuntu18.04 LTS 安装(推荐18.04稳定)
    WSL2 + Docker配置_第5张图片

3:WSL2下安装Docker

3.1:wsl切换wsl 2版本

WSL2就是linux系统(windows里的linux系统)

WSL2 + Docker配置_第6张图片

命令: windows下win+r 运行输入CMD,输入以下命令:(推荐以管理员运行)

wsl -l -v      # 查看当前wsl版本

WSL2 + Docker配置_第7张图片

命令: 执行wsl转化为wsl2

wsl --set-version Ubuntu-18.04 2

命令:将 WSL2 设置为默认版本

wsl --set-default-version 2

3.2: wsl 切换wsl2 提示(需要更新其内核组件)

WSL2 + Docker配置_第8张图片

  1. https://docs.microsoft.com/zh-cn/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package 打开下载更新包
  2. WSL2 + Docker配置_第9张图片
  3. WSL2 + Docker配置_第10张图片
  4. 点击安装即可

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不处理中文字符集的。WSL2 + Docker配置_第11张图片

用记事本打开: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 

WSL2 + Docker配置_第12张图片

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$
WSL2 + Docker配置_第13张图片

你可能感兴趣的:(python-Django,django,linux,python)