terminal2 / Dockerfile
coteerratu's picture
Update Dockerfile
1b93113 verified
raw
history blame
1.11 kB
# 使用Ubuntu作为基础镜像
FROM ubuntu:latest
# 更新包列表并安装必要的软件包
RUN apt-get update && apt-get install -y \
bash \
wget \
ca-certificates \
sudo
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
# 创建 /data 目录并赋予用户 1001 权限
RUN mkdir -p /data && chown -R 1001:1001 /data
# 下载并安装 gotty
RUN wget -O gotty.tar.gz https://github.com/yudai/gotty/releases/download/v1.0.1/gotty_linux_amd64.tar.gz \
&& tar -xzvf gotty.tar.gz -C /usr/local/bin/ \
&& chmod +x /usr/local/bin/gotty \
&& rm gotty.tar.gz
# 创建用户 1001 并设置工作目录
RUN useradd -u 1001 -d /data user1001 \
&& echo 'user1001 ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/user1001
# 切换到用户 1001 并设置工作目录
USER 1001
WORKDIR /data
# 创建 .bashrc 文件并设置 PS1 环境变量
RUN echo 'PS1="online-terminal:\\w\\$ "' > /data/.bashrc
# 暴露端口
EXPOSE 8080
# 使用 gotty 运行 bash,并修改 PS1 环境变量
CMD ["gotty", "--permit-write", "--port", "8080", "--permit-arguments", "/bin/bash", "--rcfile", "/data/.bashrc"]