WSL2官网视频教程

Docker ON WSL2安装

安装WSL2

升级至WIN10最新版本

使用WINDOWS预览体验内部版本

  • 打开windows设置
  • 搜索"预览",选择[WINDOWS预览体验计划设置]
  • 获取
  • 登录并链接微软帐户
  • 选择"快"

启用扩展功能

  • 适用于 Linux 的 Windows 子系统
  • 虚拟机平台
  • 重启电脑

微软应用商店

  • 下载Ubuntu18.04 LTS

打开系统更新

  • 等待预览版下载完成(必须下载完毕,才能进行后面的操作,如果windows更新一直卡在检查更新,可以运行更新设置的疑难解答)

打开Ubuntu

  • 创建Ubuntu帐户
  • 创建sudo密码(sudo passwd root)

打开PowerShell

  • 输入wsl --set-version Ubuntu-18.04 2 (这条命令只有内部预览版才有效)
  • 输入 wsl -l -v 查看wsl版本
代码
PS C:\Users\L1yp> wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu-18.04           Running         2
  docker-desktop         Running         2
  docker-desktop-data    Running         2

安装Docker For WSL2

下载地址:https://liangyongpeng.com/html/download.html?last_id=0&pid=2

官方下载可能有点慢。

  • 注册一个docker的帐户,在Docker For Win登录。
  • 跳过DockerForWin的入门教程
  • 选择Resource→WSL INTEGRATION→启用Ubuntu18.04
  • 右下角Apply & Restart
  • 状态栏右键DockerForWin重启

进入Ubuntu设置

切换apt国内源

  • 备份源文件:输入: sudo cp /etc/apt/source.list /etc/apt/source.list.back
  • 编辑source.list,输入: vim /etc/apt/source.list
代码

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu bionic stable

# deb-src [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu bionic stable

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

  • 输入sudo apt-get update
  • 输入sudo apt-get upgrade

安装docker-ce

  • 安装依赖
代码

sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

  • 信任公钥
代码

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

  • 对于AMD64架构的计算机,添加软件仓库
代码

sudo add-apt-repository \

   "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \

   $(lsb_release -cs\

   stable"

  • 安装
代码

sudo apt-get update

sudo apt-get install docker-ce

  • 安装完事,输入docker info,测试是否连接上docker daemon

拉取Nginx镜像

  • 输入 docker pull nginx

配置相关环境

创建Nginx容器所需环境

  • 创建3个容器的映射文件(夹)
代码
mkdir -p /home/lyp/nginx/www /home/lyp/nginx/logs /home/lyp/nginx/conf
  • 创建nginx.conf
代码
user root;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  admin.l1yp.com;
        root         /usr/share/nginx/html;

        location / {
                include proxy.conf;
                proxy_pass http://192.168.0.101:8080;
        }


        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
}

创建Nginx容器

代码
docker run -d -p 80:80 --name nginx-web \
  -v /home/lyp/nginx/www:/usr/share/nginx/html:rw \
  -v /home/lyp/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:rw \
  -v /home/lyp/nginx/conf/proxy.conf:/etc/nginx/proxy.conf:rw \
  -v /home/lyp/nginx/conf/conf.d:/etc/nginx/conf.d:rw \
  -v /home/lyp/nginx/logs:/var/log/nginx:rw \
  nginx

如果期间报错,通过docker logs [容器名称] 查看日志,

登入容器

代码
docker exec -it nginx-web /bin/bash

复制

代码
cp /mnt/d/program_projects/gitProjects/blogs-admin/src/* /home/lyp/nginx/www/ -r

docker stop nginx-web

docker rm nginx-web

docker run -d -p 80:80 --name nginx-web \
  -v /home/lyp/nginx/www:/usr/share/nginx/html:rw \
  -v /home/lyp/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:rw \
  -v /home/lyp/nginx/conf/proxy.conf:/etc/nginx/proxy.conf:rw \
  -v /home/lyp/nginx/conf/conf.d:/etc/nginx/conf.d:rw \
  -v /home/lyp/nginx/logs:/var/log/nginx:rw \
  nginx