利用docker构建自己的开发环境,开发工具为vscode

自己下载我的dockerfile build一下吧,ssh密钥还是自己生成的好。项目地址在下方

docker build -t env .

创建一个基准网络:

docker network create basenet

创建一个基准容器:

docker run --net basenet --name base env

<----------------------------------------------------------------------------以下为可选---------------------------------------------------------------------------->

openjdk-14:

docker run -it --net basenet --volumes-from base --name jdk env
apt install -y openjdk-14-jdk

打开vscode添加设置:

"java.configuration.maven.userSettings": "/opt/maven/settings.xml",

nodejs(14):

docker run -it --net basenet --volumes-from base --name node env
apt install -y nodejs

python3:

docker run -it --net basenet --volumes-from base --name python env
apt install -y python3
apt install -y python3-pip
#设置为默认python
sudo ln -s /usr/bin/python3 /usr/bin/python;sudo ln -s /usr/bin/pip3 /usr/bin/pip

c#:

docker run -it --net basenet --volumes-from base --name dotnet env
apt-get install -y dotnet-sdk-5.0

c++:

docker run -it --net basenet --volumes-from base --name cpp env
apt install g++ -y && apt install gdb -y

其他环境依照ubuntu20.04,该环境的搭建命令运行即可
创建容器

docker run -it --net basenet --volumes-from base --name 环境名称(容器名称) env
#执行ubuntu20.04中配置环境的代码

<----------------------------------------------------------------------------数据库---------------------------------------------------------------------------->
mysql:

docker pull mysql
docker run -p 3306:3306 --net basenet --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql

mongoDB

docker pull mongo
docker run -itd --net basenet --name mongo -p 27017:27017 mongo --auth #--auth代表需要认证
docker exec -it mongo mongo root
db.createUser({ user:'root',pwd:'root',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});

<----------------------------------------------------------------------------高级玩法---------------------------------------------------------------------------->
将docker数据镜像放到d盘的d:\mike\docker下:

wsl --export docker-desktop-data D:\data.tar
wsl --unregister docker-desktop-data
wsl --import docker-desktop-data D:\Mike\docker D:\data.tar

<----------------------------------------------------------------------------镜像介绍---------------------------------------------------------------------------->
镜像说明:由Mike-hd123制作。基于ubuntu20.04,添加了winget、git、curl、sudo、vim、ping、每次构建会生成一个新的ed25519密钥(建议自己重新生成)、更换软件源为阿里云、添加nodejs14的镜像源、添加了dotnet镜像源、配置了作者的git信息(建议设置为自己的)、添加中文支持、设置时区为上海、挂载/home/code为工作目录、设置了meven镜像源(阿里云的)在/opt/maven目录。
dockerfile仓库已开源配合一下下载windows的开发软件脚本(在winget目录,需要安装windows的包管理软件)更配哦:

#基于ubuntu20.04
FROM ubuntu:20.04

#作者Mike-hd123

#设置无交互式
ENV DEBIAN_FRONTEND=noninteractive

#匿名挂载镜像,在doockerfile中只能匿名挂载,且用run用-v实现具名挂载后只有具名挂载!!! 
VOLUME ["/home/code"]

#设置工作目录为
WORKDIR /home/code

#替换源
RUN sed -i s:/archive.ubuntu.com:/mirrors.tuna.tsinghua.edu.cn/ubuntu:g /etc/apt/sources.list

#设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
RUN echo "Asia/Shanghai" > /etc/timezone

#添加中文支持
ENV LC_ALL C.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV TERM screen

#更新
RUN echo update and upgrade
RUN apt-get clean && \
    apt-get -y update --fix-missing && \
    apt-get -y upgrade

#安装软件
RUN echo install curl
RUN apt install curl -y

RUN echo install vim
RUN apt install vim -y

RUN echo install git
RUN apt install git -y

RUN echo install wget
RUN apt install wget -y

RUN echo install sudo
RUN apt install sudo -y

RUN echo install ping
RUN apt-get install -y inetutils-ping

RUN echo install apt-transport-https
RUN apt-get install -y apt-transport-https

#配置git用户信息
RUN git config --global user.name "Mike-hd123"
RUN git config --global user.email "[email protected]"

#获取nodejs源
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash

#设置C#源
RUN wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb && \
	sudo dpkg -i packages-microsoft-prod.deb && \
	rm -rf packages-microsoft-prod.deb

#设置php源
RUN apt install -y software-properties-common && \
	add-apt-repository -y ppa:ondrej/php

#更新源
RUN echo update and upgrade
RUN apt-get -y update \
	&& apt-get -y upgrade

#创建密钥
RUN ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519

#输出密钥
RUN echo cat ~/.ssh/id_ed25519.pub

CMD /bin/bash

vscode需要安装扩展:

Remote - Containers

利用docker构建自己的开发环境,开发工具为vscode_第1张图片
<----------------------------------------------------------------------------小技巧---------------------------------------------------------------------------->
设置gitlabe代码更改时推送到其他托管服务商

ssh://服务器网址/用户名/项目

你可能感兴趣的:(vscode,git,wsl,docker,linux,ubuntu)