50 lines
1.7 KiB
Docker
50 lines
1.7 KiB
Docker
FROM docker.io/library/ubuntu:24.04 AS build-env
|
|
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y \
|
|
git \
|
|
build-essential \
|
|
cmake \
|
|
libjson-c-dev \
|
|
libwebsockets-dev
|
|
|
|
RUN git clone https://devstar.cn/devstar/webTerminal.git /home/webTerminal
|
|
# 设置工作目录并构建
|
|
WORKDIR /home/webTerminal/build
|
|
RUN cmake ..
|
|
RUN make && make install
|
|
|
|
|
|
FROM ubuntu:24.04
|
|
|
|
# 从构建阶段复制编译好的程序
|
|
COPY --from=build-env /home/webTerminal/build/ttyd /home/webTerminal/build/ttyd
|
|
|
|
# 只安装运行时需要的库
|
|
RUN apt-get update && \
|
|
apt-get install -y \
|
|
curl && \
|
|
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && \
|
|
apt-get install -y tini \
|
|
libjson-c-dev \
|
|
libwebsockets-dev && \
|
|
echo \
|
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
|
|
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
|
tee /etc/apt/sources.list.d/docker.list > /dev/null && \
|
|
apt-get update && apt-get install -y docker-ce-cli && \
|
|
apt remove --purge curl -y && apt autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
ENTRYPOINT ["/usr/bin/tini", "--"]
|
|
CMD ["/home/webTerminal/build/ttyd", "-W", "bash"]
|
|
|
|
# To acquire devstar.cn/devstar/webterminal:latest:
|
|
# $ docker build --no-cache -t devstar.cn/devstar/webterminal:v1.0 -f docker/Dockerfile.webTerminal .
|
|
# $ docker login devstar.cn
|
|
# $ docker push devstar.cn/devstar/webterminal:v1.0
|
|
# $ docker tag devstar.cn/devstar/webterminal:v1.0 devstar.cn/devstar/webterminal:latest
|
|
# $ docker push devstar.cn/devstar/webterminal:latest
|
|
|
|
# Release Notes:
|
|
# v1.0 - Initial release |