53 lines
1.7 KiB
Docker
53 lines
1.7 KiB
Docker
|
|
# =================================================================
|
|||
|
|
# Edge Proxy - Development Environment Dockerfile (V2)
|
|||
|
|
# =================================================================
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
FROM arm64v8/ubuntu:22.04
|
|||
|
|
|
|||
|
|
WORKDIR /app
|
|||
|
|
|
|||
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|||
|
|
|
|||
|
|
COPY . /tmp/build-context
|
|||
|
|
|
|||
|
|
|
|||
|
|
RUN apt-get update && \
|
|||
|
|
apt-get install -y \
|
|||
|
|
build-essential \
|
|||
|
|
cmake \
|
|||
|
|
git \
|
|||
|
|
gdb \
|
|||
|
|
vim \
|
|||
|
|
libssl-dev \
|
|||
|
|
# --- 新增依赖 ---
|
|||
|
|
# spdlog 开发库
|
|||
|
|
libspdlog-dev \
|
|||
|
|
# Boost C++ 开发库 (这是一个元数据包,会安装所有Boost库)
|
|||
|
|
# 提醒: libboost-all-dev 体积较大,对于生产环境镜像,
|
|||
|
|
# 后续可以优化为只安装需要的特定模块 (例如 libboost-system-dev)。
|
|||
|
|
# 但对于开发环境,它提供了最大的便利性。
|
|||
|
|
libboost-all-dev && \
|
|||
|
|
# Paho MQTT C++ 客户端库及其依赖
|
|||
|
|
# --- 步骤 2: 编译并安装 Paho C 库 ---
|
|||
|
|
echo "--- Building and installing Paho MQTT C Library ---" && \
|
|||
|
|
cd /tmp/build-context/external/paho.mqtt.c && \
|
|||
|
|
cmake -Bbuild -H. \
|
|||
|
|
-DPAHO_WITH_SSL=ON \
|
|||
|
|
-DPAHO_BUILD_SAMPLES=OFF \
|
|||
|
|
-DPAHO_BUILD_DOCUMENTATION=OFF && \
|
|||
|
|
cmake --build build --target install && \
|
|||
|
|
\
|
|||
|
|
# libpaho-mqttpp-dev \
|
|||
|
|
echo "--- Building and installing Paho MQTT C++ Library ---" && \
|
|||
|
|
cd /tmp/build-context/external/paho.mqtt.cpp && \
|
|||
|
|
# 编译并安装
|
|||
|
|
cmake -Bbuild -H. -DPAHO_WITH_SSL=ON -DPAHO_BUILD_SAMPLES=OFF -DPAHO_BUILD_DOCUMENTATION=OFF && \
|
|||
|
|
cmake --build build --target install && \
|
|||
|
|
# 清理工作
|
|||
|
|
ldconfig && \
|
|||
|
|
rm -rf /tmp/build-context && \
|
|||
|
|
# 清理apt缓存,减小镜像体积
|
|||
|
|
rm -rf /var/lib/apt/lists/*
|