美文网首页
docker + VSC 打造完美本地开发环境

docker + VSC 打造完美本地开发环境

作者: Rediculous | 来源:发表于2020-07-24 15:54 被阅读0次

    引言

    windows是什么,用来办公的,不是用来开发的,(这里没有任何诋毁windows的地方,但是当你经历过windows下能编译,Linux下不能编译;windows是dll,Linux是so的时候你就会懂了)
    从另一个角度说,把开发环境、测试环境、甚至线上环境的系统层面整成一致,确实是非常的方便
    再者,现在更换电脑是平常的事儿,你还记得有多少软件要装吗,还记得maven怎么配置的吗,还记得pip源怎么配置的吗,习惯好的会有记录,不过这些东西每次都配置一下是不想死,是不得耗一天的时间

    综上,我们的原则是windows就是用来办公的,只要装一点软件,比如office,稍微抛砖引玉一下,目前几乎完美的解决方案

    安装docker

    exe 一路向前

    安装VSC

    exe 一路向前

    配置docker 镜像加速

    image.png
    {
      "registry-mirrors": [
        "http://f1361db2.m.daocloud.io",
        "http://ovfftd6p.mirror.aliyuncs.com",
        "http://registry.docker-cn.com",
        "http://docker.mirrors.ustc.edu.cn",
        "http://hub-mirror.c.163.com"
      ],
      "insecure-registries": [
        "registry.docker-cn.com",
        "docker.mirrors.ustc.edu.cn"
      ],
      "debug": true,
      "experimental": false
    }
    

    编写Dockerfile

    FROM centos:7.8.2003
    
    MAINTAINER Joey
    
    # 修改默认时区和字符集
    RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    ENV LANG en_US.UTF-8
    ENV LANGUAGE en_US.UTF-8
    ENV LC_ALL en_US.UTF-8
    RUN echo "export LANG=en_US.UTF-8" >>  /etc/bashrc  \
        && echo "export LANGUAGE=en_US.UTF-8" >>  /etc/bashrc  \
        && echo "export LC_ALL=en_US.UTF-8" >>  /etc/bashrc  \
        && source /etc/bashrc
    
    # RUN rpm --import /etc/pki/rpm-gpg/RPM*
    
    # 必要工具
    RUN yum -y install which wget gcc gcc+ gcc-c++ make autoconf automake libtool
    
    
    RUN mkdir /app
    
    
    ####################################################################################################
    #
    # JDK
    #
    ####################################################################################################
    RUN cd /app \
        && wget https://download.java.net/openjdk/jdk12/ri/openjdk-12+32_linux-x64_bin.tar.gz \
        && tar -zxvf openjdk-12+32_linux-x64_bin.tar.gz
    ENV JAVA_HOME=/app/jdk-12
    ENV PATH=$PATH:$JAVA_HOME/bin
    # in case you want to ssh this container 
    RUN echo "export JAVA_HOME=$JAVA_HOME" >>  /etc/bashrc  \
        && echo "export PATH=$PATH:$JAVA_HOME/bin" >>  /etc/bashrc \
        && source /etc/bashrc
    
    
    ####################################################################################################
    #
    # MAVEN
    #
    ####################################################################################################
    RUN cd /app \
        && wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz \
        && tar -zxvf apache-maven-3.6.3-bin.tar.gz 
    ENV MAVEN_HOME /app/apache-maven-3.6.3
    ENV PATH=$PATH:$MAVEN_HOME/bin
    # in case you want to ssh this container 
    RUN echo "export MAVEN_HOME=$MAVEN_HOME" >>  /etc/bashrc  \
        && echo "export PATH=$PATH:$MAVEN_HOME/bin" >>  /etc/bashrc \
        && source /etc/bashrc
    
    ####################################################################################################
    #
    # CMAKE
    #
    ####################################################################################################
    RUN cd /app \
        && wget https://cmake.org/files/v3.17/cmake-3.17.3.tar.gz \
        && tar -zxvf cmake-3.17.3.tar.gz \
        && cd /app/cmake-3.17.3 \
        && ./bootstrap \
        && make \
        && make install \
        && rm -rf /app/cmake-3.17.3
    
    
    ####################################################################################################
    #
    # PYTHON
    #
    ####################################################################################################
    RUN yum install -y zlib zlib-devel libffi-devel \
        && cd /app \
        && wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz \
        && cd /app/Python-3.8.2/ \
        && ./configure \
        && make \
        && make install \
        && python3 -m ensurepip --default-pip 
    
    
    ####################################################################################################
    #
    # SSH
    #
    ####################################################################################################
    #安装openssh-server
    RUN yum -y install openssh-server \
        && sed -i 's/#Port 22/Port 22/g' /etc/ssh/sshd_config \
        && sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config \
        && sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/g' /etc/ssh/sshd_config \
        && echo "root:root"|chpasswd
        
    EXPOSE 22
    
    #运行脚本,启动sshd服务
    CMD /usr/sbin/sshd -D
    
    

    根据个人情况裁剪,其中包含了C++、Java、Python开发环境

    创建镜像

    docker build centos-dev:v1 .
    

    启动镜像

    docker run -d -p 1022:22 -p 1080:8080 --name="dev" --privileged  -it -e "container=docker"  -v /d/docker/data:/data centos-dev:v1  /usr/sbin/init
    

    把22端口映射出来,方便ssh;
    把8080端口银蛇出来,方便调试接口
    当然如果系统中有多个端口的,都映射出来即可

    建议挂载一个本地文件夹,交换文件方便

    由于目前的版本管理中包含了文档,所以,还是在本地安装了SVN客户端,没在docker内安装

    打开VSC 安装Remote-Container

    image.png image.png

    就可以了,VSC会自动在docker中安装必要工具

    然后就是各种插件了,都装docker里

    image.png

    抛砖引玉一些,这边可以根据需要,自己安装

    相关文章

      网友评论

          本文标题:docker + VSC 打造完美本地开发环境

          本文链接:https://www.haomeiwen.com/subject/cvbhlktx.html