• 使用VSCode Remote Containers功能实现开发环境统一


    VSCode自从2015年面世以来,经过6年多的发展,成为最流行的开发工具。根据Stackoverflow在2021年的统计, VSCode是目前最流行的开发工具,超过70%的开发者会使用VSCode,远远领先其他的开发工具:

    在企业的开发中,如何让众多开发者保持一致的开发环境,减少业务上线时的故障和复杂性,有各种解决方案。其中容器解决方案是目前大家常用的一种方式。

    这里将介绍在VSCode中的Visual Studio Code remote Development,它允许您使用容器、远程计算机或适用于 Linux 的 Windows 子系统 (WSL) 作为开发环境。通过这个功能可以实现:

    • 在统一的操作系统上进行开发,或者在更大、更专业的硬件上进行开发
    • 本地环境和开发环境分离,避免因开发环境影响本地机器
    • 让新开发者更容易上手,并使每个开发者都处于一致的环境中
    • 使用本地不支持的操作系统或运行环境,甚至可以在本地支持多个版本
    • 在Windows中使用WSL实现Linux的开发环境
    • 从多台机器或位置访问现有的统一开发环境
    • 调试在客户站点或云中运行的应用程序

    我们这里介绍通过容器的方式实现开发环境的统一的方法。

    一 创建Docker镜像

    本例子中创建一个带有Flask的Python3.8环境的Docker Image,作为开发环境的模板。

    1 编写Dockerfile

    创建一个无限循环的python程序,app.py:

    import time

    while True:

    time.sleep(100)

    创建如下的Dockerfile,采用python的官方镜像,安装Flask包,再将app.py复制到工作目录中,运行:

    FROM python:3.8-slim

    RUN pip install Flask

     

    WORKDIR /app

    ADD . /app

     

    CMD ["python", "app.py"]

    2 build模板镜像

    运行docker build,创建名字为python-flask的镜像:

    docker build . -t python-flask

     

    二 在本机运行docker程序

    在本机运行docker程序,采用的是刚刚创建好的镜像。同时把docker的工作目录,mount到本机的工作目录上:

    docker run -d --name vsc01 \

    -v /mnt/c/newfolder:/root/newfolder \

    python-flask

    可以看到运行中的容器:

    三 通过VSCode连接到container中进行开发

    1 安装remote – container插件

    在VSCode中,查找并安装remote – container插件:

    选择Remote – Containers,点击安装:

    安装完成后,在VSCode的左下角出现一个绿色的按钮:

    2 连接到container中

    在VSCode中,点击左下角的绿色按钮:

    点击attach to Running Container…

    Attach到container以后,可以看到内部的文件系统:

    3 调试程序

    在VSCode中创建一个简单的index.py的程序

    from flask import Flask

     

    app = Flask(__name__)

     

    @app.route("/")

    def hello():

        html = '<h1 style="color:DodgerBlue;"> Hello world!' + "</h1></br>"

        return html

     

    if __name__ == "__main__":

      app.run(host='0.0.0.0', port=80)

    可以看到,在本机的C盘newfolder下创建了index.py程序:

    为方便调试,在VSCode中安装code runner:

    安装完成后,在右上角出现运行的按钮:

    点击运行,出现提示,

    可以看到代码的实际效果:

    四 总结

    在VSCode中安装Remote – Container插件,结合自己创建的统一容器镜像,可以非常方便的实现统一的开发环境。

  • 相关阅读:
    二维动规思想,j 具有明显枚举特征
    二分法题目总结
    最大(小)值最小(大)化 (二分法变形)
    C/ C++ 输入输出流
    正序扫描字符串问题
    React(基础一)_react中的三大属性
    找位置
    STL vector
    STL stack
    打印日期
  • 原文地址:https://www.cnblogs.com/hengwei/p/15615910.html
Copyright © 2020-2023  润新知