code-server 安装
官方文档
Docker部署
docker pull codercom/code-server:4.19.1
# 部署
docker run -it \
--name code-server \
-p 8080:8080 \
--privileged=true \
-v /etc/localtime:/etc/localtime \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ./code-server/local:/home/coder/.local \
-v ./code-server/config:/home/coder/.config \
-v ./code-server/project:/home/coder/project \
-e TZ=Asia/Shanghai \
-e PASSWORD=u12345678 \
codercom/code-server:4.19.1
docker-compose.yml
version: '3'
services:
code-server:
image: codercom/code-server:4.19.1
container_name: code-server
privileged: true
# restart: always
ports:
- '8080:8080'
environment:
TZ: Asia/Shanghai
# code-server登录密码
PASSWORD: u12345678
SUDO_PASSWORD: root12345678
volumes:
- /etc/localtime:/etc/localtime
- /var/run/docker.sock:/var/run/docker.sock
- ./code-server/local:/home/coder/.local
- ./code-server/config:/home/coder/.config
- ./code-server/project:/home/coder/project
logging:
driver: "json-file"
options:
max-size: "50m"
Dockerfile 构建开发环境镜像
FROM codercom/code-server:latest
# apt 国内镜像源
RUN sudo sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN sudo apt-get clean
RUN sudo apt-get update \
&& sudo apt-get install -y vim \
&& sudo apt-get install -y curl \
&& sudo apt-get install -y unzip \
&& sudo apt-get install -y gnupg2 \
&& sudo apt-get install -y wget \
&& sudo apt-get install -y yarn
# COPY
# 下载地址 https://download.oracle.com/otn/java/jdk/8u341-b10/424b9da4b48848379167015dcc250d8d/jdk-8u341-linux-x64.tar.gz
COPY jdk1.8.0_341 /usr/local/jdk1.8/
# 下载地址 https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
COPY maven-3.6.1 /usr/local/maven-3.6/
# 下载地址 https://github.com/nodejs/node/archive/refs/tags/v12.22.11.tar.gz
# COPY node-v12.22.10 /usr/local/node-v12.22/
# 下载地址 https://codeload.github.com/nvm-sh/nvm/tar.gz/refs/tags/v0.39.2
COPY nvm-0.39.2 /usr/local/nvm-0.39/
# 环境变量,$a最后一行行后添加字符串
RUN sudo sed -i '$aJAVA_HOME=/usr/local/jdk1.8' /etc/profile
RUN sudo sed -i '$aJRE_HOME=$JAVA_HOME/jre' /etc/profile
RUN sudo sed -i '$aCLASSPATH=$JAVA_HOME/lib/' /etc/profile
RUN sudo sed -i '$aPATH=$PATH:$JAVA_HOME/bin' /etc/profile
RUN sudo sed -i '$aexport PATH JAVA_HOME JRE_HOME CLASSPATH' /etc/profile
RUN sudo sed -i '$aMAVEN_HOME=/usr/local/maven-3.6' /etc/profile
RUN sudo sed -i '$aexport PATH=$MAVEN_HOME/bin:$PATH' /etc/profile
# RUN sudo sed -i '$aNODE_HOME=/usr/local/node-v12.22' /etc/profile
# RUN sudo sed -i '$aPATH=$PATH:$NODE_HOME/bin' /etc/profile
# RUN sudo sed -i '$aexport PATH NODE_HOME' /etc/profile
RUN sudo chmod -R 777 /usr/local/nvm-0.39
RUN sudo sed -i '$aexport NVM_DIR=/usr/local/nvm-0.39' /etc/profile
RUN sudo sed -i '$a[ -s $NVM_DIR/nvm.sh ] && \. $NVM_DIR/nvm.sh' /etc/profile
RUN sudo sed -i '$a[ -s $NVM_DIR/bash_completion ] && \. $NVM_DIR/bash_completion' /etc/profile
# nvm node 国内镜像源
RUN sudo sed -i '$aexport IOJS_ORG_MIRROR=https://npm.taobao.org/mirrors/iojs' /etc/profile
RUN sudo sed -i '$aexport NODIST_IOJS_MIRROR=https://npm.taobao.org/mirrors/iojs' /etc/profile
RUN sudo sed -i '$aexport NVM_IOJS_ORG_MIRROR=https://npm.taobao.org/mirrors/iojs' /etc/profile
RUN sudo sed -i '$aexport NVMW_IOJS_ORG_MIRROR=https://npm.taobao.org/mirrors/iojs' /etc/profile
RUN sudo sed -i '$aexport NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node' /etc/profile
RUN sudo sed -i '$aexport NODIST_NODE_MIRROR=https://npm.taobao.org/mirrors/node' /etc/profile
RUN sudo sed -i '$aexport NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node' /etc/profile
RUN sudo sed -i '$aexport NVMW_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node' /etc/profile
RUN sudo sed -i '$aexport NVMW_NPM_MIRROR=https://npm.taobao.org/mirrors/npm' /etc/profile
# flutter环境配置
RUN sudo sed -i '$aexport PUB_HOSTED_URL=https://pub.flutter-io.cn' /etc/profile
RUN sudo sed -i '$aexport FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn' /etc/profile
RUN sudo sed -i '$aexport PATH=$HOME/flutter/bin:$PATH' /etc/profile
RUN sudo sed -i '$aexport PATH=$PATH:$HOME/.pub-cache/bin' /etc/profile
# 进入ide后再执行 source /etc/profile
RUN /bin/bash -c 'source /etc/profile'
# flutter环境配置
RUN sudo sed -i '$aexport PUB_HOSTED_URL=https://pub.flutter-io.cn' /home/coder/.bashrc
RUN sudo sed -i '$aexport FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn' /home/coder/.bashrc
RUN sudo sed -i '$aexport PATH=$HOME/flutter/bin:$PATH' /home/coder/.bashrc
RUN sudo sed -i '$aexport PATH=$PATH:$HOME/.pub-cache/bin' /home/coder/.bashrc
RUN /bin/bash -c 'source /home/coder/.bashrc'
WORKDIR /home/coder/project
本文作者:逢生博客
本文链接:https://www.cnblogs.com/wufengsheng/p/17901578.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步