###前提・実現したいこと
- 下記コマンドでdockerコンテナのApacheの起動
bash
1docker run -it -d --name php -p 80:80 php:custom
###発生している問題・エラーメッセージ
dockerfileに下記記述だと、docker runでApacheが起動します
CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"]
ですが
RUN echo "service apache2 start" >> /start.sh RUN chmod o+x /start.sh CMD /start.sh CMD ["/start.sh"]
または、
RUN echo "/usr/sbin/apache2 -D FOREGROUND" >> /start.sh RUN chmod o+x /start.sh CMD /start.sh CMD ["/start.sh"]
だとrunではApacheは起動しません
exec後に/usr/sbin/apache2 -D FOREGROUNDだと起動します
(^C
が必要です)
start.sh
とrunでApache起動したいです。
dockerのrunがlinuxの起動の方式と違うあたりが原因と思います
おすすめの起動方法などありましたら教えてください
###該当のソースコード
FROM ubuntu:16.10 # インストーラで使うユーザインタフェースを制御する ENV DEBIAN_FRONTEND noninteractive # Apache関連定数 ENV APACHE_RUN_USER www-data ENV APACHE_RUN_GROUP www-data ENV APACHE_PID_FILE /var/run/apache2.pid ENV APACHE_RUN_DIR /var/run/apache2 ENV APACHE_LOG_DIR /var/log/apache2 ENV APACHE_LOCK_DIR /var/lock/apache2 # 更新処理 RUN apt-get update && apt-get install -y --no-install-recommends apt-utils # install 関連 RUN apt-get install vim -y RUN apt-get install sudo -y RUN apt-get install apache2 -y # Apache関連 # RUN . /etc/apache2/envvars RUN mkdir -p $APACHE_RUN_DIR RUN mkdir -p $APACHE_RUN_USER RUN mkdir -p $APACHE_LOCK_DIR # ユーザ追加 sudo pw無し RUN useradd docker -m RUN echo 'docker:docker' | chpasswd RUN echo 'docker ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/docker # Apache 起動 CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"]
###補足情報(言語/FW/ツール等のバージョンなど)
bash
1 2Docker version 1.12.1, build 23cf638
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/11 13:27