2017-04-16 10 views
0

mcryptが有効なDebian Wheezy、Apache 2.2、PHP 5でDockerイメージを構築するのに苦労しています。私はそれを使用して、奇妙なレガシープレスタショップアプリケーションのメンテナンスをしたいと思っています。廃止予定の依存関係を持つDockerイメージを構築する

ほとんどの半自動手順にはApache 2.4が含まれていますが、これは機能しません。 Dockerの画像を仕様に自動生成するためのオンラインツールがあれば、今のところ私は考えていたでしょう。

どうすればよいですか? Dockerを使用する必要がありますか?

+1

ある意味では、Dockerfile **はあなたが話しているツールです。画像内にインストール/設定されているものを正確に指定することができます。 (私はしばしば物事のためのインストール手順は自明ではありません!) –

+1

私はあなたの特定の問題を理解しているか分からない。 'debian:wheezy'をベースイメージとしてビルドすると、Apache 2.2とPHP 5をWheezyの公式リポジトリから直接簡単にセットアップできます。 – helmbert

+0

あなたは正解です。私はほとんどそれを理解したと思う。単にイメージを実行する上でmysqlとapacheを起動する方法を見つける必要があります。 –

答えて

0

これはこれまで私が行ってきたことです。私はmysqlとapacheを起動してイメージを実行する方法が不足しています。

FROM debian:wheezy 

RUN apt-get update && \ 
    apt-get install -y libmcrypt-dev \ 
    subversion ssl-cert nano wget unzip && \ 
    echo "deb http://packages.dotdeb.org wheezy-php56 all" >> /etc/apt/sources.list.d/dotdeb.list && \ 
    echo "deb-src http://packages.dotdeb.org wheezy-php56 all" >> /etc/apt/sources.list.d/dotdeb.list && \ 
    wget http://www.dotdeb.org/dotdeb.gpg -O- | apt-key add - && \ 
    echo mysql-server-5.5 mysql-server/root_password password yourpass | debconf-set-selections && \ 
    echo mysql-server-5.5 mysql-server/root_password_again password yourpass | debconf-set-selections && \ 
    apt-get update && \ 
    apt-get install -y \ 
    apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5 \ 
    openssl php-pear php5 php5-cli php5-common php5-curl php5-gd php5-mcrypt php5-mysql php5-memcache php5-readline \ 
    subversion ssl-cert nano wget unzip \ 
    mysql-server-5.5 mysql-client mysql-client-5.5 mysql-common && \ 
    /etc/init.d/mysql start && \ 
    mysql -u root -pyourpass -e "create database mydb;" && \ 
    rm -rf /var/lib/apt/lists/* && \ 
    rm /etc/apache2/sites-enabled/000-default && \ 
    mkdir -p /var/www/html && \ 
    chown www-data:www-data -R /var/www/html/ 

COPY conf/etc/ /etc/ 
COPY mydump.sql /var/www/html/mydump.sql 

RUN /etc/init.d/mysql start && \ 
    mysql -u root -pyourpass -h localhost mydb < /var/www/html/mydump.sql && \ 
    rm /var/www/html/mydump.sql 

VOLUME ["/var/www", "/var/log/apache2", "/etc/apache2", "/var/lib/mysql"] 

EXPOSE 80 443 3306 
関連する問題