Update Dockerfile
Browse files- Dockerfile +27 -42
Dockerfile
CHANGED
@@ -1,56 +1,41 @@
|
|
1 |
-
#
|
2 |
FROM ubuntu:latest
|
3 |
|
4 |
-
#
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
|
|
9 |
sudo \
|
10 |
curl \
|
11 |
-
|
12 |
-
python3-venv \
|
13 |
-
build-essential \
|
14 |
nodejs \
|
15 |
npm \
|
16 |
-
|
17 |
-
&& rm -rf /var/lib/apt/lists/*
|
18 |
-
|
19 |
-
# 创建虚拟环境
|
20 |
-
RUN python3 -m venv /opt/venv
|
21 |
-
|
22 |
-
# 激活虚拟环境并安装 setuptools
|
23 |
-
RUN /opt/venv/bin/pip install --upgrade pip setuptools
|
24 |
|
25 |
-
#
|
26 |
-
RUN /
|
27 |
-
|
|
|
|
|
28 |
|
29 |
-
#
|
30 |
-
|
|
|
31 |
|
32 |
-
#
|
33 |
-
RUN
|
|
|
34 |
|
35 |
-
#
|
36 |
-
|
37 |
|
38 |
-
#
|
39 |
-
RUN
|
40 |
|
41 |
-
#
|
42 |
-
RUN echo 'Defaults:user1001 !requiretty' >> /etc/sudoers
|
43 |
-
RUN echo 'user1001 ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
|
44 |
-
|
45 |
-
# 切换到用户 1001 并设置工作目录
|
46 |
-
USER 1001
|
47 |
-
WORKDIR /data
|
48 |
-
|
49 |
-
# 暴露端口
|
50 |
EXPOSE 3000
|
51 |
|
52 |
-
#
|
53 |
-
CMD ["
|
54 |
-
|
55 |
-
# 创建 .bashrc 文件并设置 PS1 环境变量
|
56 |
-
RUN echo 'PS1="online-terminal:\\w\\$ "' > /data/.bashrc
|
|
|
1 |
+
# 使用基础镜像 Ubuntu
|
2 |
FROM ubuntu:latest
|
3 |
|
4 |
+
# 设置环境变量 DEBIAN_FRONTEND=noninteractive 防止安装过程中弹出交互式配置
|
5 |
+
ENV DEBIAN_FRONTEND=noninteractive
|
6 |
+
|
7 |
+
# 安装必要的软件包
|
8 |
+
RUN apt-get update && \
|
9 |
+
apt-get install -y \
|
10 |
sudo \
|
11 |
curl \
|
12 |
+
git \
|
|
|
|
|
13 |
nodejs \
|
14 |
npm \
|
15 |
+
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
17 |
+
# 创建 /app 目录并授权给 online-terminal 用户
|
18 |
+
RUN mkdir /app && \
|
19 |
+
groupadd -r online-terminal && \
|
20 |
+
useradd -r -g online-terminal -d /app -s /bin/bash online-terminal && \
|
21 |
+
chown -R online-terminal:online-terminal /app
|
22 |
|
23 |
+
# 在 /app 目录中使用 online-terminal 用户运行接下来的命令
|
24 |
+
WORKDIR /app
|
25 |
+
USER online-terminal
|
26 |
|
27 |
+
# 克隆 Wetty 仓库
|
28 |
+
RUN git clone https://github.com/krishnasrinivas/wetty.git . && \
|
29 |
+
npm install
|
30 |
|
31 |
+
# 在容器启动时使用特权用户 online-terminal
|
32 |
+
USER online-terminal
|
33 |
|
34 |
+
# 将 online-terminal 用户添加到 sudoers 文件并允许其使用 sudo 无需密码
|
35 |
+
RUN echo "online-terminal ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
36 |
|
37 |
+
# 暴露端口 3000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
EXPOSE 3000
|
39 |
|
40 |
+
# 容器启动时运行 Wetty
|
41 |
+
CMD ["npm", "start"]
|
|
|
|
|
|