Cómo crear una imagen Docker base PHP personalizada
Selecciona la versión oficial de Ubuntu 14.04 como imagen del sistema en la que nos basamos.
DESDE ubuntu: trusty
Dado que todas las imágenes oficiales están ubicadas en servidores externos, DaoCloud proporciona un conjunto de fuentes de imágenes externas sincronizadas con las imágenes oficiales para garantizar que todos los ejemplos puedan funcionar normalmente. Si utiliza la fuente espejo de DaoCloud, indique DESDE daocloud.io/ubuntu:trusty
Establezca el mantenedor del espejo, que es equivalente al autor o editor del espejo.
MANTENEDOR Captain Dao lt; support@daocloud.iogt;
Utilice el comando RUN para llamar al administrador de paquetes apt-get para instalar los paquetes de software de los que depende el entorno PHP.
La instalación de paquetes de software dependientes es relativamente fija, por lo que esta operación debe completarse con la mayor anticipación posible, ya que esto ayudará a aumentar la tasa de reutilización de la capa de imagen.
EJECUTAR apt-get update \
apt-get -y install (
curl (
wget (
apache2 (
libapache2-mod-php5 (
php5-mysql (
php5-sqlite (
php5-gd (
php5-curl (
php-pear (
php-apc (
Utilice el comando RUN para llamar a los comandos de Linux Para configurar el servicio Apache y los parámetros PHP
RUN echo "ServerName localhost" gt;gt; /etc/apache2/apache2.conf\
Utilice el comando RUN para llamar a mkdir y colocar el código. Prepare un directorio limpio
RUN mkdir -p /app amp; rm -rf /var/www/html amp; código local al directorio y especifíquelo como el directorio de trabajo actual
COPY .
WORKDIR /app
Establezca los permisos para el script de inicio y especifique el archivo. dirección del puerto expuesta en el contenedor
Finalmente, especifique el proceso iniciado por el contenedor
EXPOSE 80.
CMD ["./start.sh". ]
Esta es la imagen base de PHP. Puedes compilarla ejecutando docker build -t my-php-base
p>
Ejecutando docker build -t my-. php-base localmente puede tardar mucho tiempo y puede fallar debido a las condiciones de la red. Recomendamos utilizar DaoCloud Accelerator y la función de creación de código en la nube de DaoCloud.
Dockerfile completo
# Ubuntu 14.04, distribución Trusty Tahr
Desde ubuntu: trusty
## En honor al Capitán Dao
## En honor al Capitán Dao
p>
MANTENEDOR Captain Dao lt; support@daocloud.iogt;
# APT instalará automáticamente las dependencias relacionadas con PHP, si necesita otras dependencias, agréguelas aquí
EJECUTAR apt-get update \
apt-get -y install (
curl (
wget (
apache2 (
libapache2-mod-php5 (
php5-mysql (
php5-sqlite (
php5-gd (
php5-curl \
php-pear \
php-apc \
# Programar después de usar el administrador de paquetes La limpieza puede reducir significativamente el tamaño de la imagen apt-get clean \
apt-get autoclean \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
# Instalar Composer, que es una herramienta utilizada por PHP para gestionar dependencias
# Laravel Symfony y otros frameworks de moda dependen de él
amp;amp; curl -sS poser.org/ instalador \
| php -- --install-dir=/usr/ local/bin --filename=composer
# Archivo de configuración de Apache 2: /etc/apache2/ apache2. conf
# Establezca el nombre de servicio predeterminado para Apache 2 para evitar mensajes de inicio. La gente está nerviosa.
EJECUTAR echo "ServerName localhost" gt;gt; /etc/apache2/apache2.conf\
# Archivo de configuración de PHP: /etc/php5/apache2/php.ini p>
# Ajusta el orden en el que PHP procesa las variables enviadas en la Solicitud. El orden de análisis es de izquierda a derecha. Después del análisis, el nuevo valor sobrescribe el valor anterior.
# La configuración predeterminada. es EGPCS (ENV/GET/POST/ COOKIE/SERVIDOR)
amp; sed -i 's/variables_order.variables_order = "EGPCS"/g' \
/etc /php5/apache2/php.ini
# Configure el directorio donde se coloca la aplicación de forma predeterminada
EJECUTAR mkdir -p /app amp; /html amp; amp; ln -s /app /var /www/html
COPIAR .
WORKDIR /app
EJECUTAR chmod 755 ./start. sh
EXPOSE 80
CMD ["./start.sh"]