2017-04-26 3 views
0

私の要件は、私は、データセット(画像)を訓練し、ウェブインターフェース(PHP)からの各入力画像をテストし、すべてのこの活動は、ドッキングウィンドウコンテナから実行する必要がありますする必要がopenfaceを使用しています。ドッキングウィンドウコンテナからのApache/PHPを実行することができませんでし

私はubuntuマシン上で上記の要件を達成することができます。ドッカーに完全なセットアップ(apache/php & openface)をインストールしようとしています。 現在、ドッカーを使用してapacheサーバーからhtmlファイルを呼び出すことができません

ドッカーにプロジェクトをインポートしてapache/PHPをインストールするために使用したドッカーファイルです。ドッカーファイルで変更が必要な場合は教えてください。

FROM ubuntu:16.04 

RUN apt-get update && \ 
     apt-get -y install sudo 

RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo 

ADD opencv-3.0.0/

ADD openface_setup.sh/

RUN /openface_setup.sh 

ADD openface_work/


RUN apt-get update && apt-get -y upgrade && DEBIAN_FRONTEND=noninteractive apt-get -y install \ 
apache2 php7.0 libapache2-mod-php7.0 curl lynx-cur 

RUN a2enmod php7.0 
RUN a2enmod rewrite 

RUN sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php/7.0/apache2/php.ini 
RUN sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php/7.0/apache2/php.ini 

ENV APACHE_RUN_USER www-data 
ENV APACHE_RUN_GROUP www-data 
ENV APACHE_LOG_DIR /var/log/apache2 
ENV APACHE_LOCK_DIR /var/lock/apache2 
ENV APACHE_PID_FILE /var/run/apache2.pid 

EXPOSE 8080 

VOLUME /var/www/html # **my PHP/html files are located here. In the docker container the html/php files are not reflecting** 

ADD apache-config.conf /etc/apache2/sites-enabled/000-default.conf 

CMD /usr/sbin/apache2ctl -D FOREGROUND 

コンテナは、私が実行されている(/ var/www/htmlと設定がにあります)test.htmlというをしたい開始されます。 FYI

:作成ドッカー画像に

  1. コマンド

    sudo docker build -t myname/apache-test .

  2. コマンドがドッカーコンテナを開始する

    docker run -p 8080:80 -d <imageid>

答えて

0

the official PHP imageをApacheインストール済みでインストールすることをお勧めします。

あなたのプロジェクトは、次のようになります。

. 
├── Dockerfile 
└── src 
    └── index.php 

をごDockerfileこので構成されている間:

FROM php:7.1-apache 
# now RUN here your commands to install openface etc. 

とあなたのindex.phpは、次のようになります。そして、

<?php phpinfo(); 

画像を構築する:

docker build -t myapache . 
docker run --rm -p 8080:80 -v $(pwd)/src:/var/www/html myapache 

http://localhost:8080は、php-infoページを示しています。

あなたのニーズに画像を拡張することができ、それがあなたのアプローチよりもはるかに簡単です。これが役に立ちそうですか?新しいコンテナを作成するときに7.1-apacheの画像:あなたが何かをインストールする必要がない場合は

、あなたは直接PHPを使用することができます。

0

はコンテナで実行中のすべてのプロセスを取得するにはドッキングウィンドウのPSを入力してみてください。 は、それからちょうどあなたが /etc/docker/daemon.json に別のものを追加する場合を除き、それは、Apacheサーバを起動し、それをホストされているアドレスが表示されます-itコンテナID

ドッキングウィンドウの実行を入力します(https://docs.docker.com/engine/userguide/networking/default_network/custom-docker0/

関連する問題