Update Dockerfile
Browse files- 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 |
-
# 切换官方市场
|
| 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 |
-
|
| 62 |
-
|
| 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 |
-
#
|
| 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 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 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"]
|