Docker部署code-server
版本:codercom/code-server:v2java
code-server能夠放在服務器上,隨時隨地在瀏覽器中,編寫代碼、運行、調試; 手機,pad均可以進行;python
先說下問題:docker
- 插件版本落後於vscode,部分插件須要手動安裝舊版;
- 多種方法測試,不能直接部署中文,須要部署完成,手動安裝中文插件(中文插件須要修改package.json的版本爲1.39.2);
- 本次部署的插件,都是提早解壓安裝以後的插件目錄,且都是舊版插件,以防不支持;
- 固然,你也能夠直接拉取docker鏡像,再進code-server手動搭建環境;
- 具體舊版插件如何下載,能夠自行百度,有須要能夠交流;
準備文件
須要的環境準備好,打成鏡像直接複製進去,同時配置環境變量(未加入python環境)shell
drwxr-xr-x. 6 root root 92 12月 17 16:49 apache-maven-3.6.0 -rwxr-xr-x. 1 root root 948 12月 19 13:06 Dockerfile drwxr-xr-x. 21 root root 4096 12月 19 11:59 extensions drwxr-xr-x. 8 root root 4096 12月 19 09:11 jdk1.8.0_162 drwxr-xr-x. 6 root root 46 12月 19 09:16 scala-2.11.12 -rwxr-xr-x. 1 root root 1582 12月 19 13:02 settings.json
Dockerfile
FROM codercom/code-server:v2 # ADD ADD jdk1.8.0_162 /usr/local/jdk1.8.0_162/ ADD apache-maven-3.6.0 /usr/local/apache-maven-3.6.0/ ADD scala-2.11.12 /usr/local/scala-2.11.12/ # code-server總配置文件 ADD settings.json /root/.local/share/code-server/User/ # code-server已安裝的插件 ADD extensions /root/.local/share/code-server/extensions # Env ENV JAVA_HOME /usr/local/jdk1.8.0_162 ENV JRE_HOME /usr/local/jdk1.8.0_162/jre ENV PATH $PATH:$JAVA_HOME/bin:$JRE_HOME/bin ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib ENV SCALA_HOME /usr/local/scala-2.11.12 ENV MAVEN_HOME=/usr/local/apache-maven-3.6.0 ENV PATH=$MAVEN_HOME/bin:$SCALA_HOME/bin:$PATH WORKDIR /home/coder/project # 容器啓動code-server:指定插件目錄,指定中文,指定免密登陸 ENTRYPOINT ["code-server","-locale","zh-cn","--auth","none"]
製做image
$ docker build -t cstor/code-server:v2 --rm=true .
啓動容器
$ docker run -dit --restart=always --privileged=true --name code -p 8086:8080 -h master -u root -v /root/code-server:/home/ cstor/code:v2
code-server啓動命令參數
若是使用docker,這些參數能夠做爲Dockerfile中最後執行的命令的參數;apache
通常使用:npm
# 在docker中,code-server $ code-server --auth none --port 8086 --bash-path .
全部命令參數:json
Options --locale <locale> # 設置語言,不裝插件,此項沒用;裝了插件,不須要配置此項; --user-data-dir <dir> # 設置用戶目錄 默認/root/.local/share/code-server/User -v --version -h --help --telemetry # 不知道 --extra-builtin-extensions-dir# 沒用 --extra-extensions-dir # 沒用 --base-path # 默認/root/.local/share/code-server --cert --cert-key --format --host # 主機 --auth # 默認是給一個隨機密碼,"--auth none"免密 --open # 啓動自動打開瀏覽器 --port # 端口 --socket # 主機:端口 # 插件管理 --extensions-dir <dir> # 插件目錄 默認/root/.local/share/code-server/extenstions --list-extensions # 終端列出插件 --show-versions # 命令行安裝插件,須要插件id或者離線vsix,沒啥用,插件id要從vscode市場去找 --install-extension <extension-id | path-to-vsix> --uninstall-extension <extension-id> # 錯誤排查 --log <level> # 日誌路徑 --max-memory # 最大分配內存
IDE內部配置
參考VSCode的使用方法瀏覽器
setteings.json
左下角齒輪——》setting——》右上角轉爲使用json文件來配置設置bash
全局全部設置,均可以在這裏實現服務器
{ // Nomal "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, // Env "java.home": "/usr/local/jdk1.8.0_162", "maven.executable.path": "/usr/local/apache-maven-3.6.0/bin/mvn", "java.configuration.maven.userSettings": "/usr/local/apache-maven-3.6.0/conf/settings.xml", "maven.terminal.customEnv": [ { "environmentVariable": "JAVA_HOME", "value": "/usr/local/jdk1.8.0_162" } ], "python.formatting.provider": "yapf", "python.autoComplete.addBrackets": true, "python.jediEnabled": false, "python.linting.pylintEnabled": true, // exclude file "files.exclude": { "**/.classpath": true, "**/.project": true, "**/.settings": true, "**/.factorypath": true, "**/.vscode": true, "**/.empty": true, }, // code-runner "code-runner.clearPreviousOutput": true, "code-runner.runInTerminal": false, // 執行文件的腳本,可使用絕對路徑 "code-runner.executorMap": { "python": "/usr/local/anaconda3/python3", "scala": "/usr/local/scala-2.11.12/bin/scala", "java": "cd $dir && javac $fileName && java $fileNameWithoutExt", }, }
插件
整體來講:插件市場是跟隨VSCode,code-server是落後於VSCode版本的;
理論上直接market安裝,但不保證能正常工做;
-
若是缺乏依賴,可嘗試在插件目錄中
npm install
從新安裝 -
若是版本不匹配,好比:插件版本是1.40,可是code-server只是1.39.2版本
只須要將插件離線下載,打開,找到packge.json文件,修改裏面的版本爲1.39.2便可;
建立Maven工程
ctrl+shift+p
是全部命令的總入口
好比建立maven工程:
ctrl+shift+p 輸入:maven 選項: Maven:create maven project # 建立maven工程 Maven:execute commands # 執行maven命令,插件
鏡像打包
容器生成新鏡像
docker commit -a "runoob.com" -m "my apache" [容器ID] [生成鏡像名]
鏡像保存爲文件
docker save -o [文件名] [要保存的鏡像名]
文件生成鏡像
docker load < [文件名]
啓動鏡像
docker run -dit --restart=always --privileged=true --name code -p 8086:8080 -h master -u root -v /root/code-server:/home/ cstor/code:v2