code-server 安装

发布时间 2023-12-14 17:08:47作者: 逢生博客

官方文档

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