2

.bin としてアプリケーション パッケージがあり、rhel7-init ベース イメージで実行されます。以下は、親イメージと子イメージを含む Dockerfile です。

FROM registry.access.redhat.com/rhel7-init:7.3 as base
COPY yum.repos.d/ /etc/yum.repos.d/
RUN yum -y install sudo systemd
RUN yum install https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64/pgdg-redhat93-9.4-3.noarch.rpm -y && \
 yum install -y postgresql94
RUN export key=value && \
    installer.bin &> /root/install.log

FROM registry.access.redhat.com/rhel7-init:7.3
COPY --from=base /opt/app/ /opt/app
COPY start_app /root/
RUN chmod +x /root/start_app
ENTRYPOINT [ "/root/start_app" ]

ENTRYPOINT として指定された開始スクリプトがあり、コンテナーを起動するときに実行時にいくつかの設定を行います。インストールされたディレクトリの場所を親イメージから新しいイメージにコピーしました。

コンテナーを起動すると、親イメージにインストールされた sudo パッケージへの依存関係が表示されます。

サイズを大きくしすぎずに、親の基本イメージのインストール済みパッケージを新しい基本イメージに引き継ぐにはどうすればよいですか?

親の基本イメージで使用されているインストーラーに存在する環境変数を引き継ぐことはできますか?

4

2 に答える 2