訳あって、FROM php:7.4-apacheでの実行ユーザーとグループの変更が必要になってので
以下の記載により再現させてみることに。
1)start-apache.shを作成
#!/bin/bash
# Apacheをapacheユーザーとして起動
# ログファイルの所有権を変更
chown apache:apache /var/log/apache2 /var/log/apache2/*
# Apacheをapacheユーザーとして起動
exec gosu apache /usr/sbin/apache2ctl -D FOREGROUND
2)dockerfileの作成を行う
FROM php:7.4-apache
# 新しいユーザー(test)とグループ(apache)を作成
RUN groupadd -r apache
RUN useradd -r -g apache test
# Apacheの環境変数のファイルを更新する(ユーザーとグループを変更)
RUN sed -i 's/APACHE_RUN_USER:=www-data/APACHE_RUN_USER:=test/g' /etc/apache2/envvars
RUN sed -i 's/APACHE_RUN_GROUP:=www-data/APACHE_RUN_GROUP:=apache/g' /etc/apache2/envvars
# apache log(所有者変更)
RUN chown test:apache -R /var/log/apache2
RUN chown test:apache -R /var/www/html
RUN chown test:apache -R /run/lock/apache2
RUN chown test:apache -R /run/apache2
RUN chown test:apache -R /var/cache/apache2/mod_cache_disk
# gosuのインストールに必要なパッケージのインストール
RUN apt-get update && apt-get install -y \ wget \
gnupg2 \
dirmngr \
&& rm -rf /var/lib/apt/lists/*
# gosuのインストール
RUN set -eux; \ wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/1.12/gosu-amd64"; \
wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/1.12/gosu-amd64.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
gpg --keyserver keyserver.ubuntu.com --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
chmod +x /usr/local/bin/gosu; \
gosu --version; \
apt-get purge -y --auto-remove wget gnupg2 dirmngr
# スクリプトをコピーして実行権限を付与
COPY start-apache.sh /usr/local/bin/start-apache.shRUN chmod +x /usr/local/bin/start-apache.sh
CMD ["start-apache.sh"]
CMD ["start-apache.sh"]
0 件のコメント:
コメントを投稿