dockerfile
1 FROM ubuntu:14.04 2 3 # Update sources 4 RUN apt-get update -y 5 6 7 # install http 8 RUN apt-get install -y apache2 9 RUN mkdir -p /var/lock/apache2 /var/run/apache2 10 11 # Setup environment 12 ENV DEBIAN_FRONTEND noninteractive 13 RUN apt-get install -y supervisor 14 RUN mkdir -p /var/log/supervisor 15 16 ADD mydata.sql /etc/ #sql文件与supervisord控制文件,后者用于管理 17 ADD supervisord.conf /etc/ 18 19 # install mysql包括修改密码,创建数据库导入sql 20 RUN apt-get install -y mysql-client mysql-server 21 RUN service mysql start &&\ 22 mysqladmin -u root password root &&\ 23 mysql -u root -proot -e "create database mydata;" &&\ 24 mysql -u root -proot mydata < /etc/mydata.sql &&\ 25 26 RUN a2enmod rewrite#主要是开启路由重写 27 RUN sed -i 's#DocumentRoot /var/www/html#DocumentRoot /var/www/web#g' /etc/apache2/sites-available/000-default.conf 28 RUN sed -i 's/AllowOverride None/AllowOverride all/g' /etc/apache2/apache2.conf 29 RUN sed -i '$a\ServerName 172.18.0.2' /etc/apache2/apache2.conf 30 ADD web.tar.gz /var/www/web 31 32 33 #install php需要添加软件仓库 34 RUN apt-get install -y software-properties-common 35 RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php 36 RUN apt-get update && apt-get install -y --no-install-recommends \ 37 libapache2-mod-php5.6 \ 38 php5.6 \ 39 php5.6-cli \ 40 php5.6-curl \ 41 php5.6-dev \ 42 php5.6-gd \ 43 php5.6-imap \ 44 php5.6-mysql \ 45 && apt-get clean \ 46 && rm -fr /var/lib/apt/lists/* 47 48 EXPOSE 80 49 50 CMD ["supervisord", "-n"]
supervisord.conf
1 [supervisord] 2 ;logfile=/var/log/supervisor/supervisord-nobody.log ; (main log file;default $CWD/supervisord.log) 3 ;logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB) 4 ;logfile_backups=10 ; (num of main logfile rotation backups;default 10) 5 ;loglevel=info ; (log level;default info; others: debug,warn,trace) 6 ;pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid) 7 nodaemon=true ; (start in foreground if true;default false) 8 ;user=nobody 9 10 [rpcinterface:supervisor] 11 supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 12 13 14 [program:apache2] 15 command=/bin/bash -c "source /etc/apache2/envvars && exec /usr/sbin/apache2 -DFOREGROUND" 16 17 18 19 ;autostart=true ; start at supervisord start (default: true) 20 ;autorestart=true ; retstart at unexpected quit (default: true) 21 ;startretries=3 ; max # of serial start failures (default 3) 22 23 [program:mysql] 24 command = /usr/bin/pidproxy /var/run/mysqld/mysqld.pid /usr/bin/mysqld_safe