TOP

wsl 安装 Ubuntu18.04 以及 docker

服务开启

保证自己的虚拟化是启动的

安装 Ubuntun

安装完毕后, 通过 MobaXterm 是可以直接看到的, 直接就可以登录使用

简单看下系统情况

查看linux内核版本
uname -r
 
查看系统版本
cat /etc/lsb-release
 
查看本地磁盘内存情况(可见C盘、D盘)
df -h

更新软件源(阿里云源)并更新软件

#使用 root 权限登录,后续输入密码
sudo -i
 
#接下来备份当前源,输入以下命令
cp /etc/apt/sources.list /etc/apt/sources.list.old 
 
#这个sources.list文件就是源文件,删除该文件,重新写一个
rm /etc/apt/sources.list
vim /etc/apt/sources.list

复制下面的内容到 sources.list 中

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
  deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
  deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
  deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
  deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
  deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
  deb http://mirrors.aliyun.com/ubuntu/ xenial universe
  deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
  deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
  deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
  deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
  deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
  deb http://archive.canonical.com/ubuntu xenial partner
  deb-src http://archive.canonical.com/ubuntu xenial partner
  deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
  deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
  deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
  deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

更新

sudo apt update      #更新软件源
sudo apt upgrade     #更新软件包

SSH 相关设置

#设置root的口令(密码),用作后续登陆使用
sudo passwd root
 
#安装openssh-server(似乎ubuntu自带已安装)
sudo apt install openssh-server
 
#备份很重要
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
 
#使用vim进行编辑,按i进入insert模式
sudo vim /etc/ssh/sshd_config
 
service ssh start             #启动SSH服务
service ssh status            #检查状态
 
在vim中分别找到并对应修改四处,修改后ESC,输入wq保存退出,具体如下:
Port = 8022
ListenAddress 0.0.0.0        # 如果需要指定监听的IP则去除最左侧的井号,并配置对应IP,默认即监听PC所有IP
PermitRootLogin yes           # 如果你需要用 root 直接登录系统则此处改为 yes
PasswordAuthentication yes    # 将 no 改为 yes 表示使用帐号密码方式登录
sudo service ssh start             #启动SSH服务
sudo service ssh status            #检查状态
sudo systemctl enable ssh          #开机自动启动ssh命令

解决乱码问题

sudo apt-get install language-pack-zh-hans

sudo vim /etc/environment
最后面追加写入以下内容
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"


sudo vim /var/lib/locales/supported.d/local
写入以下内容
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN GB2312


sudo locale-gen


解决中文空格乱码问题
sudo apt-get install fonts-droid-fallback ttf-wqy-zenhei ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming

实现效果

以上操作完毕后, 环境就准备好了

安装 Docker

官方下载 docker

https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe

验证

基于 WSL , Docker 环境 下的 python 解释器开发调试

这里简单用一个 tornado 的代码来调试

import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web

from tornado.options import define, options

define("port", default=8005, help="run on the given port", type=int)


class IndexHandler(tornado.web.RequestHandler):
    def get(self):
        print("?????")
        greeting = self.get_argument('greeting', 'Hello')
        self.write(greeting + ', friendly user!')


if __name__ == "__main__":
    tornado.options.parse_command_line()
    app = tornado.web.Application(handlers=[(r"/", IndexHandler)])
    http_server = tornado.httpserver.HTTPServer(app)
    http_server.listen(options.port)
    tornado.ioloop.IOLoop.instance().start()

 

如果直接使用 wsl 里面的 python 环境, 在这里使用即可, 注意路径如果默认是 python2(默认 2.7)。 需要调整为 python3 (默认是 3.6.8)

 

 如果基于 docker 基础镜像。 则选择 Docker 输入镜像名称即可

windows 安装的则默认使用第一个, 其他则根据情况自己选择

创建完毕后。 在执行tornado 项目时还需要指定端口映射, 否则启动的 web 无法外部访问

验证互通效果

 

posted @ 2022-05-24 17:02  羊驼之歌  阅读(456)  评论(0编辑  收藏  举报