【发布时间】:2016-03-14 18:46:15
【问题描述】:
我需要通过 Dockerfile 为带有 apache 和 php 5.6 的 Debian 映像安装使用 OpenSSL 和 zlib 编译的 cURL。我尝试了很多方法,但由于我在 Linux 中没有字符串理解,因此失败了。我使用 docker-compose 来启动我的容器。 docker-compose.yaml 看起来像:
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
作为构建脚本,我使用 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' 是来自基础镜像https://hub.docker.com/_/php/的帮助脚本
问题是在$ docker build --rm . 成功之后,没有使用 cURL+SSL+zlib 获取图像。在$ docker-compose up 之后,我有一个使用 Apache+MySQL 的工作容器,可以运行我的项目,但我需要的库不在那里。
您能解释一下如何在容器中正确地将这些扩展添加到我的 apache 中吗?我什至尝试创建自己的 Dockerfile 并在那里构建 apache+php+需要的库,但没有结果。
【问题讨论】:
标签: php apache curl docker debian