Docker部署code-server服务

必备:

  • code-server的文件包(当前版本4.1.0)

    GitHub项目地址:https://github.com/coder/code-server/releases

  • djk环境(我使用了jdk8,jdk11,jdk17)

    Oracle下载地址:http://jdk.java.net/

  • code-server插件(可以自己去下载包)

    1. 中文语言插件
    2. One Dark Pro主题
    3. vscode icons文件主题
    4. Bracket Pair Colorizer
    5. cmake套件
    6. C/C++套件
    7. Java套件
    8. Python套件

    官方下载地址:https://marketplace.visualstudio.com/search?term=one%20dark%20pro&target=VSCode&category=All%20categories&sortBy=Relevance

    自己下载注意版本对应

    懒得自己下载的同学我给大家打包好了

    链接:https://pan.baidu.com/s/1cv40InW3QF7dcLwJEoHdew
    提取码:6666

创建容器

这里使用Ubuntu容器

运行一个Uubuntu容器

请确保主机的9999端口开放

或者可以自定义端口

docker run -dit -p 9999:80 -v codeserverfiles:/home/codeserverfiles --name code-server ubuntu bash

把用到的文件拷贝到容器中

# 查看容器id
docker ps

# 拷贝文件
docker cp code de1f:/home
docker cp Learn de1f:/home

进入容器

docker exec -it code-server bash

安装环境

Java环境 :

  • jdk8
  • jdk11
  • jdk17
Java多语言环境切换:

默认环境:jdk11

切换方法:

  • # 切换Java8
    jdk8
    
  • # 切换Java11
    jdk11
    
  • # 接环Java17
    jdk17
    

python环境

  • python27.18

    python2
    
  • python3.8.10

    python	#或者 python3
    

nodejs环境

  • node 10.19.0
  • npm 6.14.4

C/C++环境

  • gcc 9.4.0
  • g++ 9.4.0
  • make 4.2.1
apt update -y && apt full-upgrade -y && apt install vim systemctl git curl wget lsof gcc g++ gdb make nodejs npm python3 -y && apt autoremove -y && apt autoclean -y

# 这里有要设置时区的:选择 6:Asia 70:Shanghai

Python环境配置

# 这个时候系统内有了python2.7 和python3.8
# 配置一下默认环境 我习惯使用python3环境(有用python2的小伙伴可以配置python2默认环境)
cp -a /usr/bin/python3 /usr/bin/python

# 配置python2默认环境
cp -a /usr/bin/python2 /usr/bin/python

配置多版本java环境

mv java/ /usr/local/

# 修改文件夹权限
chmod -R 777 /usr/local/java
 
# 配置
vim ~/.bashrc
 
# 末尾加上
# JAVA_ENV
# jdk-8
export JAVA8_HOME=/usr/local/java/jdk-8
# jdk-11
export JAVA11_HOME=/usr/local/java/jdk-11
# jdk-17
export JAVA17_HOME=/usr/local/java/jdk-17
# JAVA_HOME
export JAVA_HOME=${JAVA11_HOME}
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:${CLASSPATH}
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
# java_alias
alias jdk8='export JAVA_HOME=$JAVA8_HOME && export JRE_HOME=$JAVA_HOME/jre && export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH && export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH'
alias jdk11='export JAVA_HOME=$JAVA11_HOME && export JRE_HOME=$JAVA_HOME/jre && export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH && export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH'
alias jdk17='export JAVA_HOME=$JAVA17_HOME && export JRE_HOME=$JAVA_HOME/jre && export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH && export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH'
 
# 应用配置
source ~/.bashrc
 
# 查看
java --version

配置code-server

解压code-server包

tar -zvxf code-server-4.1.0-linux-amd64.tar.gz

# 改文件夹子名称
mv code-server-4.1.0-linux-amd64 code-server

给code-server安装插件

  • 中文语言插件
  • Python套件
  • Java套件
  • C/C++套件
  • cmake套件
  • vscode icons文件主题
  • Markdown All in one插件
  • One Dark Pro主题
  • Bracket Pair Colorizer插件
# 把插件移动到code-server/bin/下
mv EP/* code-server/bin/

# 安装(--install-extension)
./code-server --install-extension CoenraadS.bracket-pair-colorizer-1.0.62.vsix && ./code-server --install-extension ms-python-release.vsix && ./code-server --install-extension ms-vscode.cmake-tools-1.10.2.vsix && ./code-server --install-extension ms-vscode.cpptools-1.9.3@linux-x64.vsix && ./code-server --install-extension twxs.cmake-0.0.17.vsix && ./code-server --install-extension vscjava.vscode-java-pack-0.21.0.vsix && ./code-server --install-extension vscode-icons-team.vscode-icons-11.10.0.vsix && ./code-server --install-extension vscode-language-pack-zh-hans-v1.63.0.vsix && ./code-server --install-extension yzhang.markdown-all-in-one-3.4.0.vsix && ./code-server --install-extension zhuangtongfa.material-theme-3.13.20.vsix

编写快速启动/停止脚本

编写一个启动脚本

vim start.sh
#! /bin/bash
#start.sh
export PASSWORD="passwd" 	#密码自己设置
nohup ./code-server --port 80 --host 0.0.0.0 --auth password > code-server.log 2>&1 &

编写停止脚本

vim shut.sh
#! /bin/bash
#shut.sh
pgrep -f code-server > pid.txt &&  head -n 1 pid.txt | xargs kill -9 && rm pid.txt && rm code-server.log

启动/停止

# 启动
sh start.sh

# 停止
sh shut.sh

code-server设置

设置语言

# 快捷键
Ctrl + Shift + P

# 输入
configure display language

选择zh-cn,重启窗口

效果

  1. 浏览器访问:主机ip:9999
  2. 输入你设定的密码

image-20220314150926851

Docker镜像

对于懒得自己配置的小伙伴我已经把容器打包镜像上传了

DockerHub项目地址:https://hub.docker.com/repository/docker/howhacker/code-server

拉取

docker pull howhacker/code-server:1.0

启动

# 创建容器 (例:开放主机9999端口)
docker run -dit -p [port]:80 --name code-server howhacker/code-sever:1.0 bash
# 进入容器
docker exec -it code-server bash
# 运行code-server
cd /home/code-server/bin
sh start.h
# 停止运行
sh shut.sh
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐