私はFedoraにreynierpm
という名前でログインしていて、DockerファイルからDockerイメージを作成します。その画像にはLAMP環境が含まれます。私は以下のように見えるApacheバーチャルホスト(VH)、デフォルトのファイルを持っている:このファイルは、画像上の適切な場所にコピーされ構築されたプロセスの一環としてDockerコンテナのイメージビルドの値を設定します
<VirtualHost *:80>
#ServerName www.example.com
ServerAdmin [email protected]
DocumentRoot /var/www
<Directory /var/www>
AllowOverride All
Require all granted
</Directory>
ErrorLog /dev/stdout
CustomLog /dev/stdout combined
</VirtualHost>
。
ログインしたユーザー名をホストから取得し、このVHに動的に設定できますか?私はbashのから$(whoami)
を使用して、現在のユーザーの値を取得しますが、私は挿入することができますどのように構築/ドッカーにVHファイルに設定することができます知っている
<VirtualHost *:80>
ServerName reynierpm.dev
ServerAdmin [email protected]
DocumentRoot /var/www
<Directory /var/www>
AllowOverride All
Require all granted
</Directory>
ErrorLog /dev/stdout
CustomLog /dev/stdout combined
</VirtualHost>
:最後に私は次のような結果を取得したいと思い?
これはDockerfile
の内容です:
FROM ubuntu:14.04.5
MAINTAINER Me <[email protected]>
ARG USER_NAME=unknown
VOLUME ["/var/www"]
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive \
apt-get install -y software-properties-common && \
apt-get update && \
apt-get install -y \
apache2 \
php5 \
php5-cli \
libapache2-mod-php5 \
php5-gd \
php5-json \
php5-mcrypt \
php5-mysql \
php5-xdebug \
php5-curl \
php5-memcached \
php5-mongo \
zend-framework \
mc \
nano
# Copy default virtual host file.
COPY /config/apache2_vhost/apache_default /etc/apache2/sites-available/000-default.conf
COPY run /usr/local/bin/run
RUN chmod +x /usr/local/bin/run
RUN a2enmod rewrite
EXPOSE 80
EXPOSE 9001
CMD ["/usr/local/bin/run"]
UPDATE:
:ビルドは@Eltonの提案に続いて引数を使用しようとしながら、私はrun
ファイルに次の行を追加した失敗しました
sed -i "s/#ServerName www.example.com/$USER_NAME.dev/g" /etc/apache2/sites-available/000-default.conf
イメージを次のように作成してください。
docker build --build-arg USER_NAME=$(whoami) -t dev-php55 .
しかし、次のメッセージで失敗している:
つまたは複数のビルド引数は、[USER_NAME]構築失敗し、消費されませんでした。
何が問題なのですか。
私の編集を見てもらえますか?おそらく私は何かが足りなくなっているかもしれません – ReynierPM
そのエラーは '--build-arg'の引数の名前が' ARG'の名前と一致しないことを意味します。 –
しかし、これは私が達成したいものではありません。私が抱えている主な問題を理解していますか?おそらく今OPが良かったのを見てください – ReynierPM