使用已弃用的依赖项构建Docker镜像

时间:2017-04-16 10:08:38

标签: php apache docker debian mcrypt

我正在努力使用启用了mcrypt的Debian Wheezy,Apache 2.2,PHP 5构建Docker镜像。我想用它来对一个古怪的遗留prestashop应用程序进行一些维护。

大多数半自动程序包括Apache 2.4,但不起作用。我原以为现在有一个在线工具可以根据规范自动生成Docker镜像。

我该怎么办?我应该使用Docker撰写吗?

1 个答案:

答案 0 :(得分: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