Skip to content

CML2.9.0と同時リリースされたリファレンスプラットフォームに含まれるコンテナイメージ

CML 2.9.0から新たにコンテナ機能がサポートされています。CML 2.9.0と同時に公開されたリファレンスプラットフォーム「refplat-20250616-fcs-iso」に含まれるコンテナイメージの一覧はSupport for Container Imagesに書かれています。

image

ここには「splunk」というイメージについて言及されているのですが、「refplat-20250616-fcs-iso」にはこのイメージは含まれていないようです。つまり、実際に含まれているコンテナイメージは以下のようです。

  1. chrome-136-0-7103-113-1.tar.gz
  2. dnsmasq-2-9-0.tar.gz
  3. firefox-138-0-4-build1.tar.gz
  4. frr-10-2-1-r1.tar.gz
  5. net-tools-1-0-0.tar.gz
  6. nginx-3-38.tar.gz
  7. radius-3-2-1.tar.gz
  8. syslog-3-38.tar.gz
  9. tacplus-f4-0-4-28.tar.gz
  10. thousandeyes-ea-1-210-0.tar.gz

先日、dfimageでDockerコンテナイメージからDockerfileを復元するで触れたdfimageを使い、これらのイメージのDockerfileを確認してみました。

検証環境

対象 バージョン
Ubuntu 24.04.2 LTS

1.chrome-136-0-7103-113-1.tar.gz

# dfimage chrome:136.0.7103.113-1
FROM chrome:136.0.7103.113-1
# debian.sh --arch 'amd64' out/ 'bookworm' '@1742169600'
ARG uid=2000
ARG version=136.0.7103.113-1
RUN |2 uid=2000 version=136.0.7103.113-1 RUN test -n "${uid}" || (echo "docker build-arg uid must be set" && false) # buildkit
COPY google-chrome.gpg /usr/share/keyrings/google-chrome.gpg # buildkit
RUN |2 uid=2000 version=136.0.7103.113-1 RUN echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main" >/etc/apt/sources.list.d/google-chrome.list # buildkit
RUN |2 uid=2000 version=136.0.7103.113-1 RUN apt-get update && apt-get upgrade -y && \
  DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
  software-properties-common \
  apt-transport-https \
  curl ca-certificates \
  i3 \
  xdotool \
  google-chrome-stable=${version} && \
  apt-get autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* && \
  useradd -l --create-home --shell /bin/bash -u ${uid} --user-group debian # buildkit
COPY i3config /home/debian/.config/i3/config # buildkit
RUN |2 uid=2000 version=136.0.7103.113-1 RUN mkdir -p /var/run/dbus && \
  ln -s /home/debian/.dbus-socket /var/run/dbus/system_bus_socket && \
  chown -R debian:debian /home/debian/.config /var/run/dbus/system_bus_socket # buildkit
USER debian
COPY start.sh /start.sh # buildkit
CMD ["/start.sh"]

2.dnsmasq-2-9-0.tar.gz

# dfimage dnsmasq:2.9.0
FROM dnsmasq:2.9.0
# debian.sh --arch 'amd64' out/ 'bookworm' '@1742169600'
ENV DEBIAN_FRONTEND=noninteractive
RUN RUN apt-get update && \
  apt-get upgrade -y && \
  apt-get install -y --no-install-recommends dnsmasq dnsutils && \
  apt-get clean && \
  rm -rf /var/lib/apt/lists/* # buildkit
COPY dnsmasq.conf /etc/dnsmasq.conf # buildkit
CMD ["dnsmasq" "--no-daemon" "--log-queries" "--log-dhcp" "--log-facility=-"]

3.firefox-138-0-4-build1.tar.gz

# dfimage firefox:138.0.4-build1
FROM firefox:138.0.4-build1
# debian.sh --arch 'amd64' out/ 'bookworm' '@1742169600'
ARG uid=2000
ARG version=138.0.4~build1
RUN |2 uid=2000 version=138.0.4~build1 RUN test -n "${uid}" || (echo "docker build-arg uid must be set" && false) # buildkit
RUN |2 uid=2000 version=138.0.4~build1 RUN apt-get update && apt-get upgrade -y && \
  DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y curl ca-certificates # buildkit
RUN |2 uid=2000 version=138.0.4~build1 RUN install -d -m 0755 /etc/apt/keyrings && install -d -m 0755 /etc/apt/preferences.d # buildkit
COPY 35baa0b33e9eb396f59ca838c0ba5ce6dc6315a3.asc /etc/apt/trusted.gpg.d/mozilla.gpg # buildkit
COPY mozilla-signing-key.gpg /etc/apt/keyrings/packages.mozilla.org.asc # buildkit
RUN |2 uid=2000 version=138.0.4~build1 RUN echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" >/etc/apt/sources.list.d/mozilla.list # buildkit
RUN |2 uid=2000 version=138.0.4~build1 RUN apt-get update && \
  DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
  ca-certificates \
  i3 \
  xdotool \
  firefox=${version} && \
  apt-get autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* && \
  useradd -l --create-home --shell /bin/bash -u ${uid} --user-group debian # buildkit
COPY policies.json /usr/lib/firefox/distribution/policies.json # buildkit
USER debian
COPY i3config /home/debian/.config/i3/config # buildkit
COPY start.sh /start.sh # buildkit
CMD ["/start.sh"]

4.frr-10-2-1-r1.tar.gz

# dfimage frr:10.2.1-r1
FROM frr:10.2.1-r1
ADD alpine-minirootfs-3.21.3-x86_64.tar.gz / # buildkit
CMD ["/bin/sh"]
COPY start.sh /start.sh # buildkit
RUN RUN apk add --no-cache busybox-extras frr ethtool && \
  mkdir /config && \
  chmod 700 /start.sh && \
  echo "service integrated-vtysh-config" >>/etc/frr/vtysh.conf && \
  touch /etc/frr/frr.conf && chmod 777 /etc/frr/frr.conf && \
  chmod 777 /etc/frr # buildkit
ENTRYPOINT ["/start.sh"]

5.net-tools-1-0-0.tar.gz

# dfimage net-tools:1.0.0
FROM net-tools:1.0.0
# debian.sh --arch 'amd64' out/ 'bookworm' '@1742169600'
ENV DEBIAN_FRONTEND=noninteractive
RUN RUN apt-get update && \
  apt-get upgrade -y && \
  apt-get install -y --no-install-recommends \
  bash iproute2 iputils-ping net-tools mtr-tiny iperf3 traceroute fping \
  sensible-utils curl telnet netcat-openbsd socat snmp termshark \
  openssh-client vim nano less jq yq httpie procps dnsutils bash dhcping nmap && \
  apt-get clean && \
  rm -rf /var/lib/apt/lists/* # buildkit
COPY mibs.tar.gz / # buildkit
RUN RUN tar zxvf mibs.tar.gz && rm mibs.tar.gz # buildkit
COPY motd /etc/motd # buildkit
RUN RUN echo "cat /etc/motd" >> /root/.bashrc # buildkit
ENTRYPOINT ["/bin/bash" "-i"]
CMD []

6.nginx-3-38.tar.gz

# dfimage nginx:3.38
FROM nginx:3.38
# debian.sh --arch 'amd64' out/ 'bookworm' '@1745798400'
LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>
ENV NGINX_VERSION=1.27.5
ENV NJS_VERSION=0.8.10
ENV NJS_RELEASE=1~bookworm
ENV PKG_RELEASE=1~bookworm
ENV DYNPKG_RELEASE=1~bookworm
RUN RUN set -x \
    && groupadd --system --gid 101 nginx \
    && useradd --system --gid nginx --no-create-home --home /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx \
    && apt-get update \
    && apt-get install --no-install-recommends --no-install-suggests -y gnupg1 ca-certificates \
    && \
    NGINX_GPGKEYS="573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 8540A6F18833A80E9C1653A42FD21310B49F6B46 9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3"; \
    NGINX_GPGKEY_PATH=/etc/apt/keyrings/nginx-archive-keyring.gpg; \
    export GNUPGHOME="$(mktemp -d)"; \
    found=''; \
    for NGINX_GPGKEY in $NGINX_GPGKEYS; do \
    for server in \
        hkp://keyserver.ubuntu.com:80 \
        pgp.mit.edu \
    ; do \
        echo "Fetching GPG key $NGINX_GPGKEY from $server"; \
        gpg1 --keyserver "$server" --keyserver-options timeout=10 --recv-keys "$NGINX_GPGKEY" && found=yes && break; \
    done; \
    test -z "$found" && echo >&2 "error: failed to fetch GPG key $NGINX_GPGKEY" && exit 1; \
    done; \
    gpg1 --export "$NGINX_GPGKEYS" > "$NGINX_GPGKEY_PATH" ; \
    rm -rf "$GNUPGHOME"; \
    apt-get remove --purge --auto-remove -y gnupg1 && rm -rf /var/lib/apt/lists/* \
    && dpkgArch="$(dpkg --print-architecture)" \
    && nginxPackages=" \
        nginx=${NGINX_VERSION}-${PKG_RELEASE} \
        nginx-module-xslt=${NGINX_VERSION}-${DYNPKG_RELEASE} \
        nginx-module-geoip=${NGINX_VERSION}-${DYNPKG_RELEASE} \
        nginx-module-image-filter=${NGINX_VERSION}-${DYNPKG_RELEASE} \
        nginx-module-njs=${NGINX_VERSION}+${NJS_VERSION}-${NJS_RELEASE} \
    " \
    && case "$dpkgArch" in \
        amd64|arm64) \
            echo "deb [signed-by=$NGINX_GPGKEY_PATH] https://nginx.org/packages/mainline/debian/ bookworm nginx" >> /etc/apt/sources.list.d/nginx.list \
            && apt-get update \
            ;; \
        *) \
            tempDir="$(mktemp -d)" \
            && chmod 777 "$tempDir" \
                        && savedAptMark="$(apt-mark showmanual)" \
                        && apt-get update \
            && apt-get install --no-install-recommends --no-install-suggests -y \
                curl \
                devscripts \
                equivs \
                git \
                libxml2-utils \
                lsb-release \
                xsltproc \
            && ( \
                cd "$tempDir" \
                && REVISION="${NGINX_VERSION}-${PKG_RELEASE}" \
                && REVISION=${REVISION%~*} \
                && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${REVISION}.tar.gz \
                && PKGOSSCHECKSUM="c773d98b567bd585c17f55702bf3e4c7d82b676bfbde395270e90a704dca3c758dfe0380b3f01770542b4fd9bed1f1149af4ce28bfc54a27a96df6b700ac1745 *${REVISION}.tar.gz" \
                && if [ "$(openssl sha512 -r ${REVISION}.tar.gz)" = "$PKGOSSCHECKSUM" ]; then \
                    echo "pkg-oss tarball checksum verification succeeded!"; \
                else \
                    echo "pkg-oss tarball checksum verification failed!"; \
                    exit 1; \
                fi \
                && tar xzvf ${REVISION}.tar.gz \
                && cd pkg-oss-${REVISION} \
                && cd debian \
                && for target in base module-geoip module-image-filter module-njs module-xslt; do \
                    make rules-$target; \
                    mk-build-deps --install --tool="apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes" \
                        debuild-$target/nginx-$NGINX_VERSION/debian/control; \
                done \
                && make base module-geoip module-image-filter module-njs module-xslt \
            ) \
                        && apt-mark showmanual | xargs apt-mark auto > /dev/null \
            && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; } \
                        && ls -lAFh "$tempDir" \
            && ( cd "$tempDir" && dpkg-scanpackages . > Packages ) \
            && grep '^Package: ' "$tempDir/Packages" \
            && echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list \
            && apt-get -o Acquire::GzipIndexes=false update \
            ;; \
    esac \
        && apt-get install --no-install-recommends --no-install-suggests -y \
                        $nginxPackages \
                        gettext-base \
                        curl \
    && apt-get remove --purge --auto-remove -y && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \
        && if [ -n "$tempDir" ]; then \
        apt-get purge -y --auto-remove \
        && rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; \
    fi \
    && ln -sf /dev/stdout /var/log/nginx/access.log \
    && ln -sf /dev/stderr /var/log/nginx/error.log \
    && mkdir /docker-entrypoint.d # buildkit
COPY docker-entrypoint.sh / # buildkit
COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit
COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit
COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit
COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit
ENTRYPOINT ["/docker-entrypoint.sh"]
EXPOSE map[80/tcp:{}]
STOPSIGNAL SIGQUIT
CMD ["nginx" "-g" "daemon off;"]

7.radius-3-2-1.tar.gz

# dfimage radius:3.2.1
FROM radius:3.2.1
# debian.sh --arch 'amd64' out/ 'bookworm' '@1742169600'
ENV DEBIAN_FRONTEND=noninteractive
RUN RUN apt-get update && \
  apt-get upgrade -y && \
  apt-get install -y --no-install-recommends freeradius && \
  apt-get clean && \
  rm -rf /var/lib/apt/lists/* # buildkit
RUN RUN mv /etc/freeradius/3.0/radiusd.conf /etc/freeradius/3.0/radiusd.conf-original && \
  mv /etc/freeradius/3.0/clients.conf /etc/freeradius/3.0/clients.conf-original && \
  mv /etc/freeradius/3.0/mods-config/files/authorize /etc/freeradius/3.0/mods-config/files/authorize-original # buildkit
COPY radiusd.conf /etc/freeradius/3.0/radiusd.conf # buildkit
COPY clients.conf /etc/freeradius/3.0/clients.conf # buildkit
COPY users /etc/freeradius/3.0/mods-config/files/authorize # buildkit
EXPOSE map[1812/udp:{}]
EXPOSE map[1813/udp:{}]
CMD ["freeradius" "-f" "-lstdout"]

8.syslog-3-38.tar.gz

# dfimage syslog:3.38
FROM syslog:3.38
# debian.sh --arch 'amd64' out/ 'bookworm' '@1742169600'
ENV DEBIAN_FRONTEND=noninteractive
RUN RUN apt-get update && \
  apt-get upgrade -y && \
  apt-get install -y --no-install-recommends syslog-ng && \
  apt-get clean && \
  rm -rf /var/lib/apt/lists/* # buildkit
COPY syslog-ng.conf /etc/syslog-ng/syslog-ng.conf # buildkit
CMD ["syslog-ng" "--stderr" "--verbose" "--foreground" "--no-caps"]

9.tacplus-f4-0-4-28.tar.gz

# dfimage tacplus:f4.0.4.28
FROM tacplus:f4.0.4.28
# debian.sh --arch 'amd64' out/ 'bookworm' '@1742169600'
COPY /usr/local/ /usr/local/ # buildkit
COPY /usr/lib/x86_64-linux-gnu/libwrap* /usr/lib/x86_64-linux-gnu/ # buildkit
COPY /usr/lib/x86_64-linux-gnu/libnsl* /usr/lib/x86_64-linux-gnu/ # buildkit
COPY /usr/lib/x86_64-linux-gnu/libtirpc* /usr/lib/x86_64-linux-gnu/ # buildkit
COPY /usr/lib/x86_64-linux-gnu/libgssapi* /usr/lib/x86_64-linux-gnu/ # buildkit
COPY /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/x86_64-linux-gnu/ # buildkit
COPY /usr/lib/x86_64-linux-gnu/libk5crypto* /usr/lib/x86_64-linux-gnu/ # buildkit
COPY /usr/lib/x86_64-linux-gnu/libkeyutils* /usr/lib/x86_64-linux-gnu/ # buildkit
EXPOSE map[49/tcp:{}]
ENV LD_LIBRARY_PATH=/usr/local/lib
CMD ["/usr/local/sbin/tac_plus" "-t" "-G" "-C" "/etc/tac_plus.conf" "-d8" "-d16" "-l" "/var/log/tac_plus.log"]

10.thousandeyes-ea-1-210-0.tar.gz

このイメージは別のリポジトリからイメージをロードしているようで、Dockerfileを復元できませんでした。

# dfimage thousandeyes/enterprise-agent:latest-agent
FROM thousandeyes/enterprise-agent:latest-agent