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

拉取镜像:

docker pull registry.cn-hangzhou.aliyuncs.com/mike_hd123/environment
#更换名字
docker tag registry.cn-hangzhou.aliyuncs.com/mike_hd123/environment env
#清理
docker rmi registry.cn-hangzhou.aliyuncs.com/mike_hd123/environment

创建一个基准容器:

docker run --name base env

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

openjdk-14:

docker run -it --net host --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 host --volumes-from base --name node env
apt install -y nodejs

python3

docker run -it --net host --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 host --volumes-from base --name cpp env
apt install g++ -y && apt install gdb -y

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

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

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

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

https://codechina.csdn.net/Mike-docker/env

一键安装脚本

相关文章

Docker是什么Docker是 Docker.Inc 公司开源的一个基于 LXC技...
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng...
镜像操作列出镜像:$ sudo docker imagesREPOSITORY TAG IMA...
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p...
在 Docker 中,如果你修改了一个容器的内容并希望将这些更改...
在Docker中,--privileged 参数给予容器内的进程几乎相同的权...