Spaces:
Paused
Paused
File size: 1,437 Bytes
83607bc 44cd6bb 83607bc 4b326a2 cce47b9 8ebbced cce47b9 da8769d cce47b9 fc28fd3 1a0b523 cce47b9 a5c604e cce47b9 1a0b523 cce47b9 fc28fd3 9570789 fc28fd3 83607bc 045dd6b fc28fd3 090b129 fc28fd3 83607bc 090b129 83607bc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# Use an official Ubuntu runtime as a parent image
FROM ubuntu:latest
# 设置非交互式环境变量,以避免 tzdata 安装时的交互
ENV DEBIAN_FRONTEND=noninteractive
# Use Aliyun mirrors for apt-get
RUN sed -i 's/http:\/\/archive.ubuntu.com\/ubuntu\//http:\/\/mirrors.aliyun.com\/ubuntu\//g' /etc/apt/sources.list
# Update the package lists
RUN apt-get update
# Install build tools
RUN apt-get install -y g++ make cmake autoconf automake libtool
# 安装 spdlog 依赖
RUN apt-get install -y \
libfmt-dev
# Download and build libhv from source
RUN apt-get install -y git
RUN git clone https://github.com/ithewei/libhv.git /usr/src/libhv
WORKDIR /usr/src/libhv
RUN make
RUN make install
# Add the libhv library path
RUN ldconfig
# 克隆 spdlog 仓库
RUN git clone https://github.com/gabime/spdlog.git /usr/src/spdlog
WORKDIR /usr/src/spdlog
# 运行 CMake 配置
RUN cmake .
# 运行构建
RUN make
# 运行安装
RUN make install
RUN ldconfig
# Set the working directory to /app
WORKDIR /app
# Copy the source code into the container
COPY . .
# Compile the C++ program
RUN g++ -std=c++14 -g -o proxyServer hv_utils.cpp tcp_inbound.cpp main.cpp -I include -I include/bolt -lhv -lspdlog
RUN apt-get install -y tzdata
# 设置时区为 Asia/Shanghai
ENV TZ=Asia/Shanghai
RUN dpkg-reconfigure --frontend noninteractive tzdata
EXPOSE 8080
# Run my_program when the container launches
CMD ["./proxyServer"]
|