ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest linux/amd64

ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest - 国内下载镜像源 浏览次数:19

温馨提示:此镜像为latest tag镜像,本站无法保证此版本为最新镜像

源镜像 ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest
国内镜像 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest
镜像ID sha256:34784fa0d78f15c448315a7321ef3f389bb83a6597fe0fbc56699d361d9d9c78
镜像TAG latest
大小 645.11MB
镜像源 ghcr.io
CMD
启动入口 /init
工作目录
OS/平台 linux/amd64
浏览量 19 次
贡献者 23******8@qq.com
镜像创建 2025-03-22T18:25:51.657018956Z
同步时间 2025-10-21 21:46
更新时间 2025-10-22 08:32
环境变量
PATH=/command:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin S6_BEHAVIOUR_IF_STAGE2_FAILS=2 S6OVERLAY_VERSION=v3.2.0.2 S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 READSBRRD_STEP=60 READSB_GRAPH_SIZE=default READSB_GRAPH_ALL_LARGE=no READSB_GRAPH_FONT_SIZE=10.0 READSB_GRAPH_MAX_MESSAGES_LINE=0 READSB_GRAPH_LARGE_WIDTH=1096 READSB_GRAPH_LARGE_HEIGHT=235 READSB_GRAPH_SMALL_WIDTH=619 READSB_GRAPH_SMALL_HEIGHT=324 AUTOGAIN_SERVICE_PERIOD=900 AUTOGAIN_STATE_FILE=/run/autogain/state AUTOGAIN_CURRENT_VALUE_FILE=/run/autogain/autogain_current_value AUTOGAIN_CURRENT_TIMESTAMP_FILE=/run/autogain/autogain_current_timestamp AUTOGAIN_REVIEW_TIMESTAMP_FILE=/run/autogain/autogain_review_timestamp AUTOGAIN_PERCENT_STRONG_MESSAGES_MAX=10.0 AUTOGAIN_PERCENT_STRONG_MESSAGES_MIN=0.5 AUTOGAIN_INITIAL_PERIOD=7200 AUTOGAIN_INITIAL_MSGS_ACCEPTED=1000000 AUTOGAIN_FINETUNE_PERIOD=604800 AUTOGAIN_FINETUNE_MSGS_ACCEPTED=7000000 AUTOGAIN_FINISHED_PERIOD=31536000 AUTOGAIN_MAX_GAIN_VALUE=49.6 AUTOGAIN_MIN_GAIN_VALUE=0.0 AUTOGAIN_RUNNING_FILE=/tmp/.autogain_running AUTOGAIN_MAX_GAIN_VALUE_FILE=/run/autogain/autogain_max_value AUTOGAIN_MIN_GAIN_VALUE_FILE=/run/autogain/autogain_min_value READSB_STATS_PB_FILE=/run/readsb/stats.pb READSB_PROTO_PATH=/opt/readsb-protobuf GAIN_VALUE_FILE=/tmp/.gain_current READSB_NET_BEAST_OUTPUT_PORT=30005 READSB_NET_SBS_OUTPUT_PORT=30003 READSB_NET_RAW_OUTPUT_PORT=30002 PROMETHEUSPORT=9273 PROMETHEUSPATH=/metrics
镜像标签
2025-03-22T18:26:07.960Z: org.opencontainers.image.created Multi-architecture readsb-protobuf container with support for RTLSDR, bladeRF and plutoSDR (x86_64, arm32v7, arm64v8): org.opencontainers.image.description : org.opencontainers.image.licenses 81daff454198ee29bdd8c9bac62f9e7933746d39: org.opencontainers.image.revision https://github.com/sdr-enthusiasts/docker-readsb-protobuf: org.opencontainers.image.source docker-readsb-protobuf: org.opencontainers.image.title https://github.com/sdr-enthusiasts/docker-readsb-protobuf: org.opencontainers.image.url main: org.opencontainers.image.version

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest  ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest  ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest

Shell快速替换命令

sed -i 's#ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest  ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest  ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest'

镜像构建历史


# 2025-03-23 02:25:51  0.00B 指定检查容器健康状态的命令
HEALTHCHECK &{["CMD-SHELL" "/scripts/healthcheck.sh"] "10m0s" "0s" "1h0m0s" "0s" '\x00'}
                        
# 2025-03-23 02:25:51  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/init"]
                        
# 2025-03-23 02:25:51  133.85MB 执行命令并创建新的镜像层
RUN /bin/bash -o pipefail -c set -x &&     TEMP_PACKAGES=() &&     KEPT_PACKAGES=() &&     KEPT_PACKAGES+=(protobuf-compiler) &&     KEPT_PACKAGES+=(git) &&     TEMP_PACKAGES+=(build-essential) &&     TEMP_PACKAGES+=(pkg-config) &&     TEMP_PACKAGES+=(cmake) &&     TEMP_PACKAGES+=(autoconf) &&     TEMP_PACKAGES+=(automake) &&     KEPT_PACKAGES+=(lighttpd) &&     KEPT_PACKAGES+=(lighttpd-mod-magnet) &&     KEPT_PACKAGES+=(collectd-core) &&     KEPT_PACKAGES+=(rrdtool) &&     KEPT_PACKAGES+=(jq) &&     TEMP_PACKAGES+=(apt-transport-https) &&     KEPT_PACKAGES+=(socat) &&     TEMP_PACKAGES+=(gnupg) &&     TEMP_PACKAGES+=(libtool) &&     KEPT_PACKAGES+=(libfftw3-bin) &&     TEMP_PACKAGES+=(libfftw3-dev) &&     TEMP_PACKAGES+=(libusb-1.0-0-dev) &&     apt-get update &&     apt-get install -o Dpkg::Options::="--force-confold" --force-yes -y --no-install-recommends     ${KEPT_PACKAGES[@]}     ${TEMP_PACKAGES[@]}     &&     curl -o /etc/s6-overlay/scripts/05-rtlsdr-biastee-init https://raw.githubusercontent.com/sdr-enthusiasts/sdre-bias-t-common/main/09-rtlsdr-biastee-init &&     curl -o /etc/s6-overlay/scripts/05-rtlsdr-biastee-down  https://raw.githubusercontent.com/sdr-enthusiasts/sdre-bias-t-common/main/09-rtlsdr-biastee-down &&     chmod +x /etc/s6-overlay/scripts/05-rtlsdr-biastee-init &&     chmod +x /etc/s6-overlay/scripts/05-rtlsdr-biastee-down &&     git config --global advice.detachedHead false &&     git clone https://github.com/steve-m/kalibrate-rtl.git "/src/kalibrate-rtl" &&     pushd "/src/kalibrate-rtl" &&     echo "kalibrate-rtl $(git log | head -1 | tr -s ' ' '_')" >> /VERSIONS &&     ./bootstrap &&     ./configure &&     make all install &&     popd &&     ln -s /etc/lighttpd/conf-available/01-setenv.conf /etc/lighttpd/conf-enabled/01-setenv.conf &&     ln -s /etc/lighttpd/conf-available/87-cachebust.conf /etc/lighttpd/conf-enabled/87-cachebust.conf &&     ln -s /etc/lighttpd/conf-available/89-readsb.conf /etc/lighttpd/conf-enabled/89-readsb.conf &&     ln -s /etc/lighttpd/conf-available/88-readsb-statcache.conf /etc/lighttpd/conf-enabled/88-readsb-statcache.conf &&     mkdir -p /etc/lighttpd/lua &&     echo -e 'server.modules += ("mod_magnet")\n\n$HTTP["url"] =~ "^/health/?" {\n  magnet.attract-physical-path-to = ("/etc/lighttpd/lua/healthcheck.lua")\n}' > /etc/lighttpd/conf-enabled/90-healthcheck.conf &&     echo -e 'lighty.content = { "OK" }\nreturn 200' > /etc/lighttpd/lua/healthcheck.lua &&     addgroup --system --gid 1000 readsb &&     useradd     --uid 1000     --system     --home-dir /usr/share/readsb     --no-create-home     --no-user-group     --gid 1000     --groups plugdev,dialout     readsb     &&     mkdir -p "/var/lib/collectd/rrd/localhost/readsb" &&     chmod -R 755 "/var/lib/collectd" &&     chown readsb "/var/lib/collectd" &&     chown -R readsb: "/usr/share/readsb" &&     mkdir -p "/run/readsb" &&     chmod -R 755 "/run/readsb" &&     chown -R readsb: "/run/readsb" &&     touch "/etc/default/readsb" &&     chown -R readsb: "/etc/default/readsb" &&     sed -i 's/^server\.pid-file.*/server.pid-file = "\/var\/run\/lighttpd\/lighttpd.pid"/g' /etc/lighttpd/lighttpd.conf &&     mkdir -p "/var/run/lighttpd" &&     chown readsb "/var/run/lighttpd" &&     mkdir -p "/var/cache/lighttpd/compress/script/readsb/backend" &&     mkdir -p "/var/cache/lighttpd/compress/css/bootstrap" &&     mkdir -p "/var/cache/lighttpd/compress/css/leaflet" &&     chown -R readsb:www-data "/var/cache/lighttpd" &&     chmod -R u+rwx,g+rwx "/var/cache/lighttpd" &&     rm -v "/etc/lighttpd/conf-enabled/99-unconfigured.conf" &&     sed -i 's/^server\.port.*/server.port = 8080/g' /etc/lighttpd/lighttpd.conf &&     sed -i 's/^server\.errorlog.*//g' /etc/lighttpd/lighttpd.conf &&     mv -v "/var/lib/collectd" "/run" &&     chown -R readsb "/run/collectd" &&     ln -s "/run/collectd" "/var/lib" &&     mv -v /etc/collectd.readsb/collectd.conf /etc/collectd/collectd.conf &&     rmdir /etc/collectd.readsb &&     sed -i 's/^LoadPlugin syslog.*//g' /etc/collectd/collectd.conf.d/readsb.collectd.conf &&     sed -i 's/^LoadPlugin exec.*//g' /etc/collectd/collectd.conf.d/readsb.collectd.conf &&     sed -i 's/^LoadPlugin curl.*//g' /etc/collectd/collectd.conf.d/readsb.collectd.conf &&     sed -i '/<Plugin syslog>/,/<\/Plugin>/d' /etc/collectd/collectd.conf.d/readsb.collectd.conf &&     sed -i 's/Disk "mmcblk0"/Disk "mmcblk0"\n\tDisk "mmcblk1"\n\tDisk "sda"\n\tDisk "hda"/g' /etc/collectd/collectd.conf.d/readsb.collectd.conf &&     sed -i  's/<Chain "PostCache">/<Plugin table>\n\t<Table "\/tmp\/.gain_current">\n\t\tInstance localhost\n\t\tSeparator " "\n\t\t<Result>\n\t\t\tType gauge\n\t\t\tInstancePrefix "gain"\n\t\t\tValuesFrom 0\n\t\t<\/Result>\n\t<\/Table>\n<\/Plugin>\n\n<Chain "PostCache">/g' /etc/collectd/collectd.conf.d/readsb.collectd.conf &&     sed -i '/--vertical-label "dBFS"/ {N; s/--right-axis 1:0 \\/--right-axis 1.2:50 \\\n\t\t--right-axis-label "dB" \\/}' /usr/share/readsb/graphs/graphs.sh &&     sed -i 's/"DEF:peak=$(check $2\/dbfs_max_signal.rrd):value:MAX" \\/"DEF:peak=$(check $2\/dbfs_max_signal.rrd):value:MAX" \\\n    "DEF:dgain=$(check \/var\/run\/collectd\/rrd\/localhost\/table-localhost\/gauge-gain.rrd):value:AVERAGE" \\/g' /usr/share/readsb/graphs/graphs.sh &&     sed -i 's/"CDEF:mes=median,UN,signal,median,IF" \\/"CDEF:mes=median,UN,signal,median,IF" \\\n\t\t"CDEF:gain=dgain,1.2,*,50,-" \\/g' /usr/share/readsb/graphs/graphs.sh &&     sed -i 's/"GPRINT:peak:MAX:%4.1lf\\c" \\/"GPRINT:peak:MAX:%4.1lf\\c" \\\n\t\t"LINE1:gain#$RED:Gain Level (RHS)\\:" \\\n\t\t"GPRINT:dgain:LAST:%4.1lf\\c" \\/g' /usr/share/readsb/graphs/graphs.sh &&     mkdir -p "/run/autogain" &&     chown readsb "/run/autogain" &&     mkdir -p /etc/telegraf/telegraf.d &&     mv -v /etc/telegraf.readsb/telegraf.conf /etc/telegraf/telegraf.conf &&     rmdir /etc/telegraf.readsb &&     echo "telegraf --version" >> /VERSIONS &&     curl     --location     -o /usr/share/readsb/html/db/aircrafts.json     -z /usr/share/readsb/html/db/aircrafts.json     'https://github.com/Mictronics/readsb-protobuf/raw/dev/webapp/src/db/aircrafts.json'     &&     curl     --location     -o /usr/share/readsb/html/db/dbversion.json     -z /usr/share/readsb/html/db/dbversion.json     'https://github.com/Mictronics/readsb-protobuf/raw/dev/webapp/src/db/dbversion.json'     &&     curl     --location     -o /usr/share/readsb/html/db/operators.json     -z /usr/share/readsb/html/db/operators.json     'https://github.com/Mictronics/readsb-protobuf/raw/dev/webapp/src/db/operators.json'     &&     curl     --location     -o /usr/share/readsb/html/db/types.json     -z /usr/share/readsb/html/db/types.json     'https://github.com/Mictronics/readsb-protobuf/raw/dev/webapp/src/db/types.json'     &&     apt-get remove -y ${TEMP_PACKAGES[@]} &&     apt-get autoremove -y &&     rm -rf /src/* /tmp/* /var/lib/apt/lists/* &&     echo "readsb $(readsb --version | cut -d ' ' -f 2)" >> /VERSIONS &&     cat /VERSIONS &&     readsb --version | cut -d ' ' -f 2 > /CONTAINER_VERSION # buildkit
                        
# 2025-03-23 02:25:26  92.41KB 复制新文件或目录到容器中
COPY rootfs/ / # buildkit
                        
# 2025-03-23 02:25:26  0.00B 
SHELL [/bin/bash -o pipefail -c]
                        
# 2025-03-23 02:25:26  0.00B 设置环境变量 S6_BEHAVIOUR_IF_STAGE2_FAILS READSBRRD_STEP READSB_GRAPH_SIZE READSB_GRAPH_ALL_LARGE READSB_GRAPH_FONT_SIZE READSB_GRAPH_MAX_MESSAGES_LINE READSB_GRAPH_LARGE_WIDTH READSB_GRAPH_LARGE_HEIGHT READSB_GRAPH_SMALL_WIDTH READSB_GRAPH_SMALL_HEIGHT AUTOGAIN_SERVICE_PERIOD AUTOGAIN_STATE_FILE AUTOGAIN_CURRENT_VALUE_FILE AUTOGAIN_CURRENT_TIMESTAMP_FILE AUTOGAIN_REVIEW_TIMESTAMP_FILE AUTOGAIN_PERCENT_STRONG_MESSAGES_MAX AUTOGAIN_PERCENT_STRONG_MESSAGES_MIN AUTOGAIN_INITIAL_PERIOD AUTOGAIN_INITIAL_MSGS_ACCEPTED AUTOGAIN_FINETUNE_PERIOD AUTOGAIN_FINETUNE_MSGS_ACCEPTED AUTOGAIN_FINISHED_PERIOD AUTOGAIN_MAX_GAIN_VALUE AUTOGAIN_MIN_GAIN_VALUE AUTOGAIN_RUNNING_FILE AUTOGAIN_MAX_GAIN_VALUE_FILE AUTOGAIN_MIN_GAIN_VALUE_FILE READSB_STATS_PB_FILE READSB_PROTO_PATH GAIN_VALUE_FILE READSB_NET_BEAST_OUTPUT_PORT READSB_NET_SBS_OUTPUT_PORT READSB_NET_RAW_OUTPUT_PORT PROMETHEUSPORT PROMETHEUSPATH
ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2 READSBRRD_STEP=60 READSB_GRAPH_SIZE=default READSB_GRAPH_ALL_LARGE=no READSB_GRAPH_FONT_SIZE=10.0 READSB_GRAPH_MAX_MESSAGES_LINE=0 READSB_GRAPH_LARGE_WIDTH=1096 READSB_GRAPH_LARGE_HEIGHT=235 READSB_GRAPH_SMALL_WIDTH=619 READSB_GRAPH_SMALL_HEIGHT=324 AUTOGAIN_SERVICE_PERIOD=900 AUTOGAIN_STATE_FILE=/run/autogain/state AUTOGAIN_CURRENT_VALUE_FILE=/run/autogain/autogain_current_value AUTOGAIN_CURRENT_TIMESTAMP_FILE=/run/autogain/autogain_current_timestamp AUTOGAIN_REVIEW_TIMESTAMP_FILE=/run/autogain/autogain_review_timestamp AUTOGAIN_PERCENT_STRONG_MESSAGES_MAX=10.0 AUTOGAIN_PERCENT_STRONG_MESSAGES_MIN=0.5 AUTOGAIN_INITIAL_PERIOD=7200 AUTOGAIN_INITIAL_MSGS_ACCEPTED=1000000 AUTOGAIN_FINETUNE_PERIOD=604800 AUTOGAIN_FINETUNE_MSGS_ACCEPTED=7000000 AUTOGAIN_FINISHED_PERIOD=31536000 AUTOGAIN_MAX_GAIN_VALUE=49.6 AUTOGAIN_MIN_GAIN_VALUE=0.0 AUTOGAIN_RUNNING_FILE=/tmp/.autogain_running AUTOGAIN_MAX_GAIN_VALUE_FILE=/run/autogain/autogain_max_value AUTOGAIN_MIN_GAIN_VALUE_FILE=/run/autogain/autogain_min_value READSB_STATS_PB_FILE=/run/readsb/stats.pb READSB_PROTO_PATH=/opt/readsb-protobuf GAIN_VALUE_FILE=/tmp/.gain_current READSB_NET_BEAST_OUTPUT_PORT=30005 READSB_NET_SBS_OUTPUT_PORT=30003 READSB_NET_RAW_OUTPUT_PORT=30002 PROMETHEUSPORT=9273 PROMETHEUSPATH=/metrics
                        
# 2025-03-23 02:25:26  292.75MB 复制新文件或目录到容器中
COPY /usr/bin/telegraf /usr/bin/telegraf # buildkit
                        
# 2025-03-23 02:07:22  71.04MB 执行命令并创建新的镜像层
RUN /bin/bash -o pipefail -c set -x &&   TEMP_PACKAGES=() &&   KEPT_PACKAGES=() &&   TEMP_PACKAGES+=(git) &&   TEMP_PACKAGES+=(build-essential) &&   TEMP_PACKAGES+=(cmake) &&   TEMP_PACKAGES+=(pkg-config) &&   TEMP_PACKAGES+=(libusb-1.0-0-dev) &&   KEPT_PACKAGES+=(libncurses5) &&   TEMP_PACKAGES+=(libncurses5-dev) &&   KEPT_PACKAGES+=(libtecla1) &&   TEMP_PACKAGES+=(libtecla-dev) &&   TEMP_PACKAGES+=(libusb-1.0-0-dev) &&   KEPT_PACKAGES+=(libserialport0) &&   TEMP_PACKAGES+=(libserialport-dev) &&   KEPT_PACKAGES+=(libxml2) &&   TEMP_PACKAGES+=(libxml2-dev) &&   TEMP_PACKAGES+=(bison) &&   TEMP_PACKAGES+=(flex) &&   KEPT_PACKAGES+=(libcdk5nc6) &&   TEMP_PACKAGES+=(libcdk5-dev) &&   KEPT_PACKAGES+=(libaio1) &&   TEMP_PACKAGES+=(libaio-dev) &&   KEPT_PACKAGES+=(protobuf-c-compiler) &&   KEPT_PACKAGES+=(libprotobuf-c1) &&   TEMP_PACKAGES+=(libprotobuf-c-dev) &&   TEMP_PACKAGES+=(librrd-dev) &&   KEPT_PACKAGES+=(libncurses5) &&   TEMP_PACKAGES+=(libncurses5-dev) &&   TEMP_PACKAGES+=(binutils) &&   apt-get update &&   apt-get install -y --no-install-recommends   "${KEPT_PACKAGES[@]}"   "${TEMP_PACKAGES[@]}"   &&   BRANCH_BLADERF=$(git -c 'versionsort.suffix=-' ls-remote --tags --sort='v:refname' 'https://github.com/Nuand/bladeRF.git' | grep -v '\^' | grep 'refs/tags/libbladeRF_' | cut -d '/' -f 3 | tail -1) &&   git clone   --branch "$BRANCH_BLADERF"   --depth 1   --single-branch   'https://github.com/Nuand/bladeRF.git'   /src/bladeRF   &&   mkdir /src/bladeRF/build &&   pushd /src/bladeRF/build &&   cmake   -DCMAKE_BUILD_TYPE=Release   -DCMAKE_INSTALL_PREFIX=/usr/local   -DINSTALL_UDEV_RULES=ON   ../   &&   make -j "$(nproc)" &&   make install &&   ldconfig &&   popd &&   bladeRF-cli --version &&   BRANCH_LIBIIO=$(git -c 'versionsort.suffix=-' ls-remote --tags --sort='v:refname' 'https://github.com/analogdevicesinc/libiio.git' | grep -v '\^' | grep -v '.*-r.*' | cut -d '/' -f 3 | tail -1) &&   git clone   --branch "$BRANCH_LIBIIO"   --depth 1   --single-branch   'https://github.com/analogdevicesinc/libiio.git'   /src/libiio   &&   mkdir /src/libiio/build &&   pushd /src/libiio/build &&   cmake   -DCMAKE_BUILD_TYPE=Release   -DCSHARP_BINDINGS=OFF   -DPYTHON_BINDINGS=OFF   -DWITH_DOC=OFF   -DWITH_MAN=OFF   -DWITH_TESTS=OFF   -DWITH_LOCAL_CONFIG=OFF   -DWITH_HWMON=OFF   -DENABLE_PACKAGING=OFF   -DINSTALL_UDEV_RULE=ON   -DHAVE_DNS_SD=OFF   ../   &&   make -j "$(nproc)" &&   make install &&   ldconfig &&   popd &&   BRANCH_LIBAD9361_IIO=$(git -c 'versionsort.suffix=-' ls-remote --tags --sort='v:refname' 'https://github.com/analogdevicesinc/libad9361-iio.git' | grep -v '\^' | cut -d '/' -f 3 | tail -1) &&   git clone   --branch "$BRANCH_LIBAD9361_IIO"   --depth 1   --single-branch   'https://github.com/analogdevicesinc/libad9361-iio.git'   /src/libad9361-iio   &&   mkdir /src/libad9361-iio/build &&   pushd /src/libad9361-iio/build &&   cmake -DCMAKE_BUILD_TYPE=Release ../ &&   make -j "$(nproc)" &&   make install &&   ldconfig &&   popd &&   BRANCH_READSB="dev" &&   git clone   --branch "$BRANCH_READSB"   --depth 1   --single-branch   'https://github.com/Mictronics/readsb-protobuf.git'   /src/readsb-protobuf   &&   pushd /src/readsb-protobuf &&   make BLADERF=yes RTLSDR=yes PLUTOSDR=yes HAVE_BIASTEE=yes &&   find "/src/readsb-protobuf" -maxdepth 1 -executable -type f -exec cp -v {} /usr/local/bin/ \; &&   popd &&   ldconfig &&   readsb --version &&   viewadsb --version &&   readsbrrd --version &&   mkdir -p /usr/share/readsb/html &&   cp -Rv /src/readsb-protobuf/webapp/src/* /usr/share/readsb/html/ &&   mkdir -p /etc/lighttpd/conf-available/ &&   cp -v /src/readsb-protobuf/debian/lighttpd/* /etc/lighttpd/conf-available/ &&   mkdir -p /etc/collectd/collectd.conf.d &&   cp -v /src/readsb-protobuf/debian/collectd/readsb.collectd.conf /etc/collectd/collectd.conf.d/ &&   mkdir -p /usr/share/readsb/graphs &&   cp -v /src/readsb-protobuf/debian/graphs/*.sh /usr/share/readsb/graphs/ &&   chmod a+x /usr/share/readsb/graphs/*.sh &&   mkdir -p /opt/readsb-protobuf &&   cp -v /src/readsb-protobuf/readsb.proto /opt/readsb-protobuf/readsb.proto &&   BLADERF_RBF_PATH="/usr/share/Nuand/bladeRF" &&   mkdir -p "$BLADERF_RBF_PATH" &&   curl -L -o "$BLADERF_RBF_PATH/hostedxA4.rbf" https://www.nuand.com/fpga/hostedxA4-latest.rbf &&   curl -L -o "$BLADERF_RBF_PATH/hostedxA9.rbf" https://www.nuand.com/fpga/hostedxA9-latest.rbf &&   curl -L -o "$BLADERF_RBF_PATH/hostedx40.rbf" https://www.nuand.com/fpga/hostedx40-latest.rbf &&   curl -L -o "$BLADERF_RBF_PATH/hostedx115.rbf" https://www.nuand.com/fpga/hostedx115-latest.rbf &&   curl -L -o "$BLADERF_RBF_PATH/adsbxA4.rbf" https://www.nuand.com/fpga/adsbxA4.rbf &&   curl -L -o "$BLADERF_RBF_PATH/adsbxA9.rbf" https://www.nuand.com/fpga/adsbxA9.rbf &&   curl -L -o "$BLADERF_RBF_PATH/adsbx40.rbf" https://www.nuand.com/fpga/adsbx40.rbf &&   curl -L -o "$BLADERF_RBF_PATH/adsbx115.rbf" https://www.nuand.com/fpga/adsbx115.rbf &&   apt-get remove -y "${TEMP_PACKAGES[@]}" &&   apt-get autoremove -q -o APT::Autoremove::RecommendsImportant=0 -o APT::Autoremove::SuggestsImportant=0 -y &&   rm -rf /src/* &&   bash /scripts/clean-build.sh # buildkit
                        
# 2025-03-23 02:07:22  0.00B 
SHELL [/bin/bash -o pipefail -c]
                        
# 2025-03-23 01:56:23  1.83MB 执行命令并创建新的镜像层
RUN /bin/bash -o pipefail -c set -x &&   TEMP_PACKAGES=() &&   KEPT_PACKAGES=() &&   TEMP_PACKAGES+=(git) &&   TEMP_PACKAGES+=(build-essential) &&   TEMP_PACKAGES+=(cmake) &&   TEMP_PACKAGES+=(pkg-config) &&   TEMP_PACKAGES+=(libusb-1.0-0-dev) &&   KEPT_PACKAGES+=(libusb-1.0-0) &&   apt-get update &&   apt-get install -y --no-install-recommends   "${KEPT_PACKAGES[@]}"   "${TEMP_PACKAGES[@]}"   &&   git clone   --branch master   --depth 1   --single-branch   https://gitea.osmocom.org/sdr/rtl-sdr.git   /src/rtl-sdr   &&   mkdir -p /src/rtl-sdr/build &&   pushd /src/rtl-sdr/build &&   git rev-parse HEAD > /CONTAINER_VERSION &&   cmake   -DCMAKE_BUILD_TYPE=Release   -DDETACH_KERNEL_DRIVER=ON   -DINSTALL_UDEV_RULES=ON   ../   &&   make -j "$(nproc)" &&   make install &&   ldconfig &&   popd &&   BRANCH_SOAPYSDR=$(git -c 'versionsort.suffix=-' ls-remote --tags --sort='v:refname' 'https://github.com/pothosware/SoapySDR.git' | grep -v '\^' | cut -d '/' -f 3 | grep '^soapy-sdr-.*' | tail -1) &&   git clone --depth 1 --branch "$BRANCH_SOAPYSDR" "https://github.com/pothosware/SoapySDR.git" "/src/SoapySDR" &&   mkdir -p /src/SoapySDR/build &&   pushd /src/SoapySDR/build &&   cmake   -DCMAKE_BUILD_TYPE=Release   -Wno-dev   ../   &&   make -j "$(nproc)" &&   make install &&   ldconfig &&   popd &&   SoapySDRUtil --info &&   BRANCH_SOAPYRTLSDR=$(git -c 'versionsort.suffix=-' ls-remote --tags --sort='v:refname' 'https://github.com/pothosware/SoapyRTLSDR.git' | grep -v '\^' | cut -d '/' -f 3 | grep '^soapy-rtl-.*' | tail -1) &&   git clone --depth 1 --branch "$BRANCH_SOAPYRTLSDR" "https://github.com/pothosware/SoapyRTLSDR.git" "/src/SoapyRTLSDR" &&   mkdir -p /src/SoapyRTLSDR/build &&   pushd /src/SoapyRTLSDR/build &&   cmake   -DCMAKE_BUILD_TYPE=Release   -Wno-dev   ../   &&   make -j "$(nproc)" &&   make install &&   ldconfig &&   popd &&   SoapySDRUtil --check=rtlsdr &&   apt-get remove -y "${TEMP_PACKAGES[@]}" &&   apt-get autoremove -q -o APT::Autoremove::RecommendsImportant=0 -o APT::Autoremove::SuggestsImportant=0 -y &&   rm -rf /src/* &&   bash /scripts/clean-build.sh # buildkit
                        
# 2025-03-23 01:56:23  0.00B 
SHELL [/bin/bash -o pipefail -c]
                        
# 2025-03-23 01:52:09  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/init"]
                        
# 2025-03-23 01:52:09  70.77MB 执行命令并创建新的镜像层
RUN /bin/bash -o pipefail -c set -x &&   TEMP_PACKAGES=() &&   KEPT_PACKAGES=() &&   TEMP_PACKAGES+=(git) &&   KEPT_PACKAGES+=(gawk) &&   KEPT_PACKAGES+=(pv) &&   TEMP_PACKAGES+=(file) &&   KEPT_PACKAGES+=(curl) &&   TEMP_PACKAGES+=(xz-utils) &&   KEPT_PACKAGES+=(ca-certificates) &&   KEPT_PACKAGES+=(bc) &&   KEPT_PACKAGES+=(socat) &&   KEPT_PACKAGES+=(ncat) &&   KEPT_PACKAGES+=(net-tools) &&   KEPT_PACKAGES+=(wget) &&   KEPT_PACKAGES+=(procps) &&   TEMP_PACKAGES+=(gcc) &&   TEMP_PACKAGES+=(build-essential) &&   KEPT_PACKAGES+=(nano) &&   KEPT_PACKAGES+=(iputils-ping) &&   KEPT_PACKAGES+=(dnsutils) &&   mkdir -p /usr/sbin/ &&   ln -s /usr/bin/dpkg-split /usr/sbin/dpkg-split &&   ln -s /usr/bin/dpkg-deb /usr/sbin/dpkg-deb &&   ln -s /bin/tar /usr/sbin/tar &&   apt-get update &&   apt-get install -y --no-install-recommends   "${KEPT_PACKAGES[@]}"   "${TEMP_PACKAGES[@]}"   &&   curl --location --output /tmp/deploy-s6-overlay.sh https://raw.githubusercontent.com/mikenye/deploy-s6-overlay/master/deploy-s6-overlay-v3.sh &&   sh /tmp/deploy-s6-overlay.sh &&   rm -f /tmp/deploy-s6-overlay.sh &&   git clone   --depth=1   https://github.com/mikenye/docker-healthchecks-framework.git   /opt/healthchecks-framework   &&   rm -rf   /opt/healthchecks-framework/.git*   /opt/healthchecks-framework/*.md   /opt/healthchecks-framework/tests   &&   sed -i 's/S6_SERVICE_PATH="\/run\/s6\/services"/S6_SERVICE_PATH="\/run\/s6\/legacy-services"/g' /opt/healthchecks-framework/checks/check_s6_service_abnormal_death_tally.sh &&   pushd /tmp &&   git clone --depth=1 https://github.com/wiedehopf/s6wrap.git &&   cd s6wrap &&   make &&   mv s6wrap /usr/local/bin &&   popd &&   mkdir -p /scripts /etc/cont-init.d &&   curl -sSL https://raw.githubusercontent.com/sdr-enthusiasts/Buster-Docker-Fixes/main/install_libseccomp2.sh | bash &&   chmod +x /etc/s6-overlay/s6-rc.d/libseccomp2/up &&   chmod +x /etc/s6-overlay/scripts/libseccomp2_check.sh &&   cp /app/scripts/* /scripts/ &&   apt-get remove -y "${TEMP_PACKAGES[@]}" &&   apt-get autoremove -q -o APT::Autoremove::RecommendsImportant=0 -o APT::Autoremove::SuggestsImportant=0 -y &&   rm -rf /src/* &&   bash /scripts/clean-build.sh # buildkit
                        
# 2025-03-23 01:52:09  0.00B 
SHELL [/bin/bash -o pipefail -c]
                        
# 2025-03-23 01:52:09  0.00B 设置环境变量 S6_BEHAVIOUR_IF_STAGE2_FAILS S6OVERLAY_VERSION S6_CMD_WAIT_FOR_SERVICES_MAXTIME PATH
ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2 S6OVERLAY_VERSION=v3.2.0.2 S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 PATH=/command:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                        
# 2025-03-17 08:00:00  74.78MB 
# debian.sh --arch 'amd64' out/ 'bookworm' '@1742169600'
                        
                    

镜像信息

{
    "Id": "sha256:34784fa0d78f15c448315a7321ef3f389bb83a6597fe0fbc56699d361d9d9c78",
    "RepoTags": [
        "ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest"
    ],
    "RepoDigests": [
        "ghcr.io/sdr-enthusiasts/docker-readsb-protobuf@sha256:a6df0d993fb08c4956770d7627f29764b424fb6387a39d28e805f295ddd414c1",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/sdr-enthusiasts/docker-readsb-protobuf@sha256:5b7a044d50001ae12df122e76148ad9dc6c33cf8f11b011374448d8aee3b7653"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2025-03-22T18:25:51.657018956Z",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/command:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "S6_BEHAVIOUR_IF_STAGE2_FAILS=2",
            "S6OVERLAY_VERSION=v3.2.0.2",
            "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0",
            "READSBRRD_STEP=60",
            "READSB_GRAPH_SIZE=default",
            "READSB_GRAPH_ALL_LARGE=no",
            "READSB_GRAPH_FONT_SIZE=10.0",
            "READSB_GRAPH_MAX_MESSAGES_LINE=0",
            "READSB_GRAPH_LARGE_WIDTH=1096",
            "READSB_GRAPH_LARGE_HEIGHT=235",
            "READSB_GRAPH_SMALL_WIDTH=619",
            "READSB_GRAPH_SMALL_HEIGHT=324",
            "AUTOGAIN_SERVICE_PERIOD=900",
            "AUTOGAIN_STATE_FILE=/run/autogain/state",
            "AUTOGAIN_CURRENT_VALUE_FILE=/run/autogain/autogain_current_value",
            "AUTOGAIN_CURRENT_TIMESTAMP_FILE=/run/autogain/autogain_current_timestamp",
            "AUTOGAIN_REVIEW_TIMESTAMP_FILE=/run/autogain/autogain_review_timestamp",
            "AUTOGAIN_PERCENT_STRONG_MESSAGES_MAX=10.0",
            "AUTOGAIN_PERCENT_STRONG_MESSAGES_MIN=0.5",
            "AUTOGAIN_INITIAL_PERIOD=7200",
            "AUTOGAIN_INITIAL_MSGS_ACCEPTED=1000000",
            "AUTOGAIN_FINETUNE_PERIOD=604800",
            "AUTOGAIN_FINETUNE_MSGS_ACCEPTED=7000000",
            "AUTOGAIN_FINISHED_PERIOD=31536000",
            "AUTOGAIN_MAX_GAIN_VALUE=49.6",
            "AUTOGAIN_MIN_GAIN_VALUE=0.0",
            "AUTOGAIN_RUNNING_FILE=/tmp/.autogain_running",
            "AUTOGAIN_MAX_GAIN_VALUE_FILE=/run/autogain/autogain_max_value",
            "AUTOGAIN_MIN_GAIN_VALUE_FILE=/run/autogain/autogain_min_value",
            "READSB_STATS_PB_FILE=/run/readsb/stats.pb",
            "READSB_PROTO_PATH=/opt/readsb-protobuf",
            "GAIN_VALUE_FILE=/tmp/.gain_current",
            "READSB_NET_BEAST_OUTPUT_PORT=30005",
            "READSB_NET_SBS_OUTPUT_PORT=30003",
            "READSB_NET_RAW_OUTPUT_PORT=30002",
            "PROMETHEUSPORT=9273",
            "PROMETHEUSPATH=/metrics"
        ],
        "Cmd": null,
        "Healthcheck": {
            "Test": [
                "CMD-SHELL",
                "/scripts/healthcheck.sh"
            ],
            "Interval": 600000000000,
            "StartPeriod": 3600000000000
        },
        "Image": "",
        "Volumes": null,
        "WorkingDir": "",
        "Entrypoint": [
            "/init"
        ],
        "OnBuild": null,
        "Labels": {
            "org.opencontainers.image.created": "2025-03-22T18:26:07.960Z",
            "org.opencontainers.image.description": "Multi-architecture readsb-protobuf container with support for RTLSDR, bladeRF and plutoSDR (x86_64, arm32v7, arm64v8)",
            "org.opencontainers.image.licenses": "",
            "org.opencontainers.image.revision": "81daff454198ee29bdd8c9bac62f9e7933746d39",
            "org.opencontainers.image.source": "https://github.com/sdr-enthusiasts/docker-readsb-protobuf",
            "org.opencontainers.image.title": "docker-readsb-protobuf",
            "org.opencontainers.image.url": "https://github.com/sdr-enthusiasts/docker-readsb-protobuf",
            "org.opencontainers.image.version": "main"
        },
        "Shell": [
            "/bin/bash",
            "-o",
            "pipefail",
            "-c"
        ]
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 645106242,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/6705f18e01ad294677e5bd2c309a2578738827fa3c2dee67de4f411407276ba5/diff:/var/lib/docker/overlay2/9ae26e4d9649c5593fc9b512536e22834ac0b7901fba9f16608a403d6fc3dd1d/diff:/var/lib/docker/overlay2/e255cb10e634ecf1a2fa5810285d42e8bb6e196d7a05c17c75f54213f226d057/diff:/var/lib/docker/overlay2/88cdd3dcb739b59953f156c0e43d1e9b89db688728facf2f0e800556166f6307/diff:/var/lib/docker/overlay2/103794f1a0d7c601492004ca1ff4ed8651d5146be65bed5380da12f3e88d0445/diff:/var/lib/docker/overlay2/1f8ebc1835d82520fa316c5bb2eb4fdbd77afc9b86d65d13f08fd4e5f37f3318/diff",
            "MergedDir": "/var/lib/docker/overlay2/ebcbab2a088dfc0908cc5c55cb3d9717de99081ec48f5f9d7b200d67ca303690/merged",
            "UpperDir": "/var/lib/docker/overlay2/ebcbab2a088dfc0908cc5c55cb3d9717de99081ec48f5f9d7b200d67ca303690/diff",
            "WorkDir": "/var/lib/docker/overlay2/ebcbab2a088dfc0908cc5c55cb3d9717de99081ec48f5f9d7b200d67ca303690/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:1287fbecdfcce6ee8cf2436e5b9e9d86a4648db2d91080377d499737f1b307f3",
            "sha256:df5864cf2b0bd837b8e38c64bebbce264035c04c726eb9b294fd5dad81a261dc",
            "sha256:7a2957cca413d47f45d8449c920313614b715f884ba5d32feb02e741cc0c9f57",
            "sha256:a055726188ed7d696659c9c3a1839cc061f224429ec3d02daa36caa6e8712504",
            "sha256:91b84db80f28725266f0435f7567a702b7f030b5cb94b0dabc7e3120f4aeb5d0",
            "sha256:3a8b41829fa026982c559a9714e01b8c4f046800cddf6a389a143e310e89f58c",
            "sha256:e4a59f31f012858d7844588a4e312d41160d176abca34f28675f0951ac1746de"
        ]
    },
    "Metadata": {
        "LastTagTime": "2025-10-21T21:45:42.826810231+08:00"
    }
}

更多版本

ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest

linux/amd64 ghcr.io645.11MB2025-10-21 21:46
18