• 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 无法外部访问

    验证互通效果

  • 相关阅读:
    李洪强经典面试题27
    李洪强经典面试题26(选择题)
    java中InputStream String
    [Android]Android5.0实现静默接听电话功能
    Please verify that your device’s clock is properly set, and that your signing certificate is not exp
    CentOS7虚拟机桥接设置及问题
    GuozhongCrawler系列教程 (5) TransactionRequest具体解释
    js之substr和substring的差别
    hdu 3549 Flow Problem
    JSP与HTML的差别
  • 原文地址:https://www.cnblogs.com/shijieli/p/16306195.html
Copyright © 2020-2023  润新知