最新の記事 [RSS]
円盤も電子化してくれたら青天井なのに みゃー姉じゃなくても連写したくなる 16年の時を超えて青空へ・・・16年!!? 劇場版 サンザイ・オブ・ザ・サンザインズ 〜ATHの逆襲とWHの残光〜 HTMLとDKIMとDMARCと たぶん最後のクマーーーーーー!!!\(^o^)/ 2024Q1はアトリエ これで心置きなくアトリエ三昧 ClockRoom '24 - FIFOときどきLIFO 反省会 2023

さくらのレンタルサーバ相当のDocker環境を軽量化する

Dockerの売りのひとつは「軽量」だと思うけど、以前作成したさくらのレンタルサーバ相当のDocker環境は650MBもあってなんかモヤっとしてたんですよね・・・

apt-get install -y perl tar bzip2 gcc make curl libexpat1-dev \

だってここの部分、最終的にperl以外は必要ないじゃんヽ(*`Д´)ノ

というわけで、結論ど〜ん ────

FROM debian:11-slim AS modules

RUN apt-get update \
  && apt-get install -y \
    bzip2 \
    curl \
    gcc \
    libexpat1-dev \
    make \
    perl=5.32.1-4+deb11u2 \
    tar

RUN curl -L https://cpanmin.us | perl - App::cpanminus \
  && cpanm CGI \
  && cpanm DBI \
  && cpanm DBD::SQLite \
  && cpanm HTML::Template \
  && cpanm XML::RSS

COPY ./lib/perl5/CR/ /usr/local/share/perl/5.32.1/CR/

FROM httpd:2.4-bullseye

RUN apt-get update \
  && apt-get install -y --no-install-recommends \
    perl=5.32.1-4+deb11u2 \
  && apt-get clean \
  && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

COPY --from=modules /usr/local/lib/aarch64-linux-gnu/perl/ /usr/local/lib/aarch64-linux-gnu/perl/
COPY --from=modules /usr/local/share/perl/ /usr/local/share/perl/

COPY ./httpd.conf /usr/local/apache2/conf/httpd.conf

教科書どおりマルチステージビルドで再構築したら240MBになったので満足。 これのデメリットはモジュールを追加できないことだけど、そもそも必要ない前提だからどうでもいい(`・ω・´)ゞ ちなみに、ENVやらEXPOSEやらマウント云々は全部docker-compose.ymlに移した。 Docker Composeが便利すぎるから単純構成でも使ったほうが良いと思う。

2023年 12月 17日 [この記事のURL] [コメント]


コメント


名前
内容
送信

※“http://”を含む送信はできません。