使用docker部署code-server(java环境)

2,022 阅读2分钟

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是否安装成功

7pgw1GInV8.png

安装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安装是否成功

image.png

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

image.png

6)、构建Dockerfile脚本

文件位置,因为要将jdk和maven复制进镜像,所以对目录位置有要求

image.png

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

cYuJtcv48K.png

9)、安装插件

插件市场地址: marketplace.visualstudio.com/VSCode

本地下载完插件上传liunx宿主机 /usr/local/software/vscode/extensions 文件夹

image.png

image.png

image.png

选择对应插件安装即可