maggidev commited on
Commit
dcf0b12
·
verified ·
1 Parent(s): 71b78f0

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +26 -26
Dockerfile CHANGED
@@ -9,22 +9,23 @@ USER root
9
  RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
10
  echo "Asia/Shanghai" > /etc/timezone
11
 
12
- # 安装常用工具
13
  RUN apt-get update && \
14
- apt-get install -y \
 
 
 
15
  vim \
16
  htop \
17
  curl \
18
  wget \
19
  git \
20
  default-jdk \
21
- ca-certificates \
22
  git-lfs \
23
  bzip2 \
24
  libx11-6 \
25
  build-essential \
26
  libsndfile-dev \
27
- software-properties-common \
28
  zip \
29
  unzip \
30
  jq \
@@ -32,9 +33,10 @@ RUN apt-get update && \
32
  python3 \
33
  python3-pip \
34
  sudo && \
 
35
  rm -rf /var/lib/apt/lists/*
36
 
37
- # 切换官方市场(使用 jq 向 product.json 追加 extensionsGallery 字段)
38
  RUN jq '. += { \
39
  "extensionsGallery": { \
40
  "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery", \
@@ -46,7 +48,7 @@ RUN jq '. += { \
46
  }' /usr/lib/code-server/lib/vscode/product.json > /tmp/product.json \
47
  && mv /tmp/product.json /usr/lib/code-server/lib/vscode/product.json
48
 
49
- # 指定 Go 版本号
50
  ARG GO_VERSION=1.25.1
51
  RUN wget -q https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz && \
52
  tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz && \
@@ -57,17 +59,14 @@ USER coder
57
  # 将 Go 路径追加到 coder 用户的 .bashrc
58
  RUN echo 'export PATH=/usr/local/go/bin:$PATH' >> /home/coder/.bashrc
59
 
60
- # 安装 nvm + node(使用官方安装脚本)
61
- # 注意:必须在 coder 用户下安装 nvm,因为 nvm 是用户级工具
62
- RUN mkdir -p /home/coder/.nvm
63
-
64
- # 安装 nvm
65
- RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash && \
66
  echo 'export NVM_DIR="$HOME/.nvm"' >> /home/coder/.bashrc && \
67
  echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> /home/coder/.bashrc && \
68
  echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"' >> /home/coder/.bashrc
69
 
70
- # 安装最新 LTS Node.js(可选:也可指定版本如 `nvm install 18`)
71
  RUN bash -c "source /home/coder/.nvm/nvm.sh && nvm install --lts && nvm alias default node"
72
 
73
  # 配置 ll 别名 + 启用彩色 ls
@@ -81,22 +80,23 @@ RUN code-server --install-extension ms-python.python && \
81
 
82
  # 创建默认 README.md
83
  RUN mkdir -p "$DEFAULT_WORKSPACE" && \
84
- echo "# 开发环境说明" > "$DEFAULT_WORKSPACE/README.md" && \
85
- echo "" >> "$DEFAULT_WORKSPACE/README.md" && \
86
- echo "本环境已预装以下工具:" >> "$DEFAULT_WORKSPACE/README.md" && \
87
- echo "- **code-server**: Web版 VS Code" >> "$DEFAULT_WORKSPACE/README.md" && \
88
- echo "- **Node.js (LTS)**: 通过 nvm 管理" >> "$DEFAULT_WORKSPACE/README.md" && \
89
- echo "- **Python 3 & pip**" >> "$DEFAULT_WORKSPACE/README.md" && \
90
- echo "- **Go (Golang)**: Go 开发环境" >> "$DEFAULT_WORKSPACE/README.md" && \
91
- echo "- **Git, Vim, curl, wget** 等常用命令行工具" >> "$DEFAULT_WORKSPACE/README.md" && \
92
- echo "" >> "$DEFAULT_WORKSPACE/README.md" && \
93
- echo "时区已设置为 \`Asia/Shanghai\`。" >> "$DEFAULT_WORKSPACE/README.md"
94
-
95
- # 设置默认打开工作区
 
96
  WORKDIR $DEFAULT_WORKSPACE
97
 
98
  EXPOSE 18080
99
 
100
  ENTRYPOINT []
101
 
102
- CMD ["sh", "-c", "code-server --bind-addr 0.0.0.0:18080 --auth password $DEFAULT_WORKSPACE"]
 
9
  RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
10
  echo "Asia/Shanghai" > /etc/timezone
11
 
12
+ # 安装常用工具 - Correção do erro de localização de pacotes
13
  RUN apt-get update && \
14
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
15
+ ca-certificates \
16
+ gnupg \
17
+ software-properties-common \
18
  vim \
19
  htop \
20
  curl \
21
  wget \
22
  git \
23
  default-jdk \
 
24
  git-lfs \
25
  bzip2 \
26
  libx11-6 \
27
  build-essential \
28
  libsndfile-dev \
 
29
  zip \
30
  unzip \
31
  jq \
 
33
  python3 \
34
  python3-pip \
35
  sudo && \
36
+ apt-get clean && \
37
  rm -rf /var/lib/apt/lists/*
38
 
39
+ # 切换官方市场
40
  RUN jq '. += { \
41
  "extensionsGallery": { \
42
  "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery", \
 
48
  }' /usr/lib/code-server/lib/vscode/product.json > /tmp/product.json \
49
  && mv /tmp/product.json /usr/lib/code-server/lib/vscode/product.json
50
 
51
+ # 指定 Go 版本号 (Atualizado para a versão estável atual ou conforme sua necessidade)
52
  ARG GO_VERSION=1.25.1
53
  RUN wget -q https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz && \
54
  tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz && \
 
59
  # 将 Go 路径追加到 coder 用户的 .bashrc
60
  RUN echo 'export PATH=/usr/local/go/bin:$PATH' >> /home/coder/.bashrc
61
 
62
+ # 安装 nvm + node
63
+ RUN mkdir -p /home/coder/.nvm && \
64
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash && \
 
 
 
65
  echo 'export NVM_DIR="$HOME/.nvm"' >> /home/coder/.bashrc && \
66
  echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> /home/coder/.bashrc && \
67
  echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"' >> /home/coder/.bashrc
68
 
69
+ # Instalação do Node usando o shell interativo para carregar o nvm
70
  RUN bash -c "source /home/coder/.nvm/nvm.sh && nvm install --lts && nvm alias default node"
71
 
72
  # 配置 ll 别名 + 启用彩色 ls
 
80
 
81
  # 创建默认 README.md
82
  RUN mkdir -p "$DEFAULT_WORKSPACE" && \
83
+ { \
84
+ echo "# 开发环境说明"; \
85
+ echo ""; \
86
+ echo "本环境已预装以下工具:"; \
87
+ echo "- **code-server**: Web版 VS Code"; \
88
+ echo "- **Node.js (LTS)**: 通过 nvm 管理"; \
89
+ echo "- **Python 3 & pip**"; \
90
+ echo "- **Go (Golang)**: Go 开发环境"; \
91
+ echo "- **Git, Vim, curl, wget** 等常用命令行工具"; \
92
+ echo ""; \
93
+ echo "时区已设置为 \`Asia/Shanghai\`。"; \
94
+ } > "$DEFAULT_WORKSPACE/README.md"
95
+
96
  WORKDIR $DEFAULT_WORKSPACE
97
 
98
  EXPOSE 18080
99
 
100
  ENTRYPOINT []
101
 
102
+ CMD ["sh", "-c", "code-server --bind-addr 0.0.0.0:18080 --auth password $DEFAULT_WORKSPACE"]