Instale cURL comstackdo con OpenSSL y zlib en Dockerfile

Necesito instalar cURL comstackdo con OpenSSL y zlib a través de Dockerfile para la image de Debian con apache y php 5.6. Probé muchos enfoques, pero debido al hecho de que no tengo comprensión de cadenas en Linux, falló. Uso docker-componer para upload mi contenedor. docker-compose.yaml se ve así:

version: '2' services: web: build: . command: php -S 0.0.0.0:80 -t /var/www/html/ ports: - "80:80" depends_on: - db volumes: - $PWD/www/project:/var/www/html container_name: "project-web-server" db: image: mysql:latest ports: - "192.168.99.100:3306:3306" container_name: "project-db" environment: MYSQL_DATABASE: dbname MYSQL_USER: dbuser MYSQL_PASSWORD: dbpass MYSQL_ROOT_PASSWORD: dbpass 

Como script de compilation utilizo Dockerfile:

 FROM php:5-fpm RUN apt-get update && apt-get install -y \ apt-utils \ curl libcurl3 libcurl3-dev php5-curl php5-mcrypt RUN docker-php-ext-install -j$(nproc) curl 

'docker-php-ext-install' es un script auxiliar de la image base https://hub.docker.com/_/php/

El problema es que después de $ docker build --rm . que es exitoso, no obtengas una image con cURL + SSL + zlib. Después $ docker-compose up tengo un contenedor de trabajo con Apache + MySQL y puedo ejecutar mi proyecto, pero las bibliotecas que necesito no están allí.

¿Podría explicarme cómo agregar estas extensiones a mi apache en el contenedor correctamente? Incluso traté de crear mi propio file Docker y crear las bibliotecas necesarias de apache + php +, pero no obtuve ningún resultado.

Su file Dockerf no está completo. No ha hecho una COPIA (o similar) para transferir su código fuente para ejecutar desde el host al contenedor. El objective de un Dockerfile es configurar un entorno junto con su código fuente que finaliza al iniciar un process (normalmente un server).

 COPY code-from-some-location into-location-in-container CMD path-to-your-server 

… según la URL a la que hace reference, un file Dockerfile más completo aparecería así

 FROM php:5.6-cli COPY . /usr/src/myapp WORKDIR /usr/src/myapp CMD [ "php", "./your-script.php" ] 

observe la COPIA que recursivamente copy todos los files / directorys (típicamente la location de su código fuente, etc. como datos y / o files de configuration) en su $ PWD donde ejecuta el command en la location especificada interna al contenedor En unix un período como en. indica el directory actual por encima del command

 COPY . /usr/src/myapp 

copyrá todos los files y directorys en el directory actual desde la computadora host (la que está utilizando al escribir el command docker build) en el directory del contenedor llamado / usr / src / myapp

el WORKDIR actúa para cambiar directorys en el directory de su contenedor provisto

finalmente el CMD lanza el server que tararea una vez que lanzas el contenedor