Понадобилось собрать образ с PHP 5.3 + ioncube + memcache для развертывания древнего сайта на новом сервере, получилось как-то так:
Dockerfile
FROM ubuntu:12.04
MAINTAINER Alexander Schenkel <alex@alexi.ch>
VOLUME ["/var/www"]
RUN apt-get update && \
apt-get install -y \
wget \
apache2 \
php5 \
php5-cli \
libapache2-mod-php5 \
php5-gd \
php5-ldap \
php5-mysql \
php5-pgsql \
php5-memcached \
php5-memcache
#install ioncube
RUN wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
RUN tar xvfz ioncube_loaders_lin_x86-64.tar.gz
RUN cp ioncube/*.so /usr/lib/php5/2*/
RUN echo zend_extension = /usr/lib/php5/2*/ioncube_loader_lin_5.3.so > /etc/php5/apache2/conf.d/00-ioncube.ini
RUN service apache2 restart
COPY apache_default /etc/apache2/sites-available/default
COPY run /usr/local/bin/run
RUN echo "extension=memcached.so" >> /etc/php5/apache2/php.ini
RUN chmod +x /usr/local/bin/run
RUN a2enmod rewrite
EXPOSE 80
CMD ["/usr/local/bin/run"]
собираем образ
docker build --tag myphp53:1.0 .
docker-compose.yml
version: '2'
networks:
app-tier:
driver: bridge
services:
memcached:
image: 'bitnami/memcached:latest'
networks:
- app-tier
php53:
image: 'myphp53:1.0'
volumes:
- "/var/www/vhosts/site.ru/httpdocs:/var/www"
ports:
- "8080:80"
networks:
- app-tier
и потом
docker-compose up -d