2017-12-26 10 views
0

私はDockerを使ってApacheとPHPで画像を構築していますが、Apacheのantomatic startに問題があります。これはDockerfileです:DockerコンテナでApacheを起動する

FROM ubuntu:16.04 

RUN apt-get update 

# Apache 
RUN apt-get -y install apache2 

# Apache config 
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf 
RUN apache2ctl configtest 
RUN a2dissite 000-default 
COPY otpuskatame_backend.conf /etc/apache2/sites-available 
RUN a2ensite otpuskatame_backend 
RUN a2dissite 000-default 
RUN rm /etc/apache2/sites-available/000-default.conf 

# PHP 
RUN apt-get -y install php libapache2-mod-php php-mcrypt 

# Load container 
CMD service apache2 start 

EXPOSE 80 

画像が正常に構築されたが、次のコマンドでそれを実行したときにそれが壊れる:

sudo docker run -d -v /var/www/project/:/var/www:rw -p 80:80 --name=lamp1 lamp1 

ステータス:

CONTAINER ID  IMAGE     COMMAND     CREATED    STATUS      PORTS     NAMES 
1a3679275b1d  lamp1     "/bin/sh -c 'servi..." 8 seconds ago  Exited (0) 6 seconds ago       lamp1 

ログがOKになります。

* Starting Apache httpd web server apache2 

I remo ve CMD行をDockerfileから取得し、コンテナにログインしてサービスapache2を起動します。手動ですべて正常に動作します。 しかし、自動的に起動する方法は?

答えて

1

それは、ドッキングウィンドウにメインサービスによるものであったがために、このドッキングウィンドウで殺され、あなたがフォアグラウンドでdockerfileでこれを追加すること

てみてくださいサービスを実行し、それを

CMD /usr/sbin/apache2ctl -D FOREGROUND 

を再構築する必要があることexiting.Forです詳細は以下のサイトを参照してください。

https://writing.pupius.co.uk/apache-and-php-on-docker-44faef716150

関連する問題