docker部署系统采用腾讯云centos8
1、本地安装jdk、maven
软件安装路径为 /usr/local/software
安装open jdk11
wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz
tar -zxvf openjdk-11+28_linux-x64_bin.tar.gz
配置环境变量(可省略)
1)、编辑环境变量
vim /etc/profile
2)、增加环境变量配置
export JAVA_HOME=/usr/local/software/jdk-11
export PATH=$JAVA_HOME/bin:$PATH
3)、使环境变量生效
source /etc/profile
使用java -version 测试jdk是否安装成功
安装maven
wget https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz
tar -zxvf apache-maven-3.8.5-bin.tar.gz
mv apache-maven-3.8.5 maven
1)、配置环境变量
MAVEN_HOME=/usr/local/software/maven
PATH=${MAVEN_HOME}/bin:${PATH}
export PATH
2)、使环境变量生效
source /etc/profile
3)、mvn -v 验证maven安装是否成功
2、docker安装code-server
1)、获取codercom/code-server
docker pull codercom/code-server:lastest
2)、创建code-server的config.yaml配置文件
mkdir /usr/local/software/vscode
touch config.yaml
密码:123456,可自行更改
bind-addr: 0.0.0.0:8080
auth: password
password: 123456
cert: false
3)、创建vscode配置文件settings.json
{
"editor.fontSize": 18,
"workbench.iconTheme": "vscode-icons",
"vsicons.dontShowNewVersionMessage": true,
"editor.minimap.enabled": true,
"workbench.colorTheme": "Visual Studio Light",
"workbench.startupEditor": "newUntitledFile",
"files.autoSave": "onFocusChange",
"editor.formatOnPaste": true,
"editor.formatOnType": true,
"java.configuration.runtimes": [
{
"name": "Java11",
"path": "/usr/local/software/jdk-11",
"default": true
}],
"java.jdt.ls.java.home":"/usr/local/software/jdk-11",
"java.home": "/usr/local/software/jdk-11",
"maven.executable.path": "/usr/local/software/maven/bin/mvn",
"java.configuration.maven.userSettings":"/usr/local/software/maven/conf/settings.xml",
"maven.terminal.customEnv": [
{
"environmentVariable": "JAVA_HOME",
"value": "/usr/local/software/jdk-11"
}
],
"spring.initializr.defaultJavaVersion": "11",
"files.exclude": {
"**/.classpath": true,
"**/.project": true,
"**/.settings": true,
"**/.factorypath": true,
"**/.vscode": true,
"**/.empty": true
},
"code-runner.clearPreviousOutput": true,
"code-runner.runInTerminal": false,
"code-runner.executorMap": {
"java": "cd $dir && javac $fileName && java $fileNameWithoutExt"
}
}
4)、创建extensions文件夹,存放插件
mkdir /usr/local/software/extensions
5)、尝试直接运行,进入输入密码即可
docker run -d -u root -p 80:8080 --name code-server \
-v /usr/local/vscode/config.yaml:/root/.config/code-server/config.yaml \
-v /usr/local/code:/home/code \
-v /usr/local/vscode/settings.json:/root/.local/share/code-server/User/settings.json \
-v /usr/local/vscode/extensions:/root/.local/share/code-server/extensions/ \
codercom/code-server:latest
6)、构建Dockerfile脚本
文件位置,因为要将jdk和maven复制进镜像,所以对目录位置有要求
FROM codercom/code-server:latest
COPY jdk-11 /usr/local/software/jdk-11/
COPY maven /usr/local/software/maven/
ENV MAVEN_HOME=/usr/local/software/maven
ENV PATH=$MAVEN_HOME/bin:$PATH
ENV JAVA_HOME=/usr/local/software/jdk-11
ENV PATH=$JAVA_HOME/bin:$PATH
RUN mkdir /usr/local/software/maven/repository
WORKDIR /home/coder/project
ENTRYPOINT ["code-server","--locale","zh-cn","--host","[0.0.0.0](http://0.0.0.0)","--port","8080", "--user-data-dir", "/home/coder","--cert",""]
7)、构建镜像
docker build -t xl/code-server:latest --rm=true .
8)、运行xl/code-server
docker run -d -u root -p 80:8080 --name code-server \
-v /usr/local/vscode/config.yaml:/root/.config/code-server/config.yaml \
-v /usr/local/vscode/settings.json:/root/.local/share/code-server/User/settings.json \
-v /usr/local/vscode/extensions:/root/.local/share/code-server/extensions/ \
-v /usr/local/software/maven/repository:/usr/local/software/maven/repository \
-v /home/coder/project:/usr/local/project/ \
xl/code-server:latest
9)、安装插件
插件市场地址: marketplace.visualstudio.com/VSCode
本地下载完插件上传liunx宿主机 /usr/local/software/vscode/extensions 文件夹
选择对应插件安装即可