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