您应该将软件包添加到您的:libpng-dev
Dockerfile
FROM php:5.6-apache
RUN docker-php-ext-install mysql mysqli
RUN apt-get update -y && apt-get install -y sendmail libpng-dev
RUN apt-get update && \
apt-get install -y \
zlib1g-dev
RUN docker-php-ext-install mbstring
RUN docker-php-ext-install zip
RUN docker-php-ext-install gd
然后转到目录并运行:Dockerfile
docker build -t sitename .
它在我的情况下起作用:
Removing intermediate container f03522715567
Successfully built 9d69212196a2
如果您遇到任何错误,请告诉我。
编辑:
您应该看到类似下面的内容:
REPOSITORY TAG IMAGE ID CREATED SIZE
sitename latest 9d69212196a2 19 minutes ago 414 MB
<none> <none> b6c69576a359 25 minutes ago 412.3 MB
编辑2:
只是为了仔细检查一切:
请按以下方式运行命令:docker build
docker build -t sitename:1.0 .
(添加不应该改变任何东西,我添加它只是在输出中增加额外的行):1.0
docker images
然后启动容器:
docker run --name sitename_test -p 80:80 sitename:1.0
它应该工作得很好。
我假设apache使用的是标准端口(80) - 也许你需要调整它。如果您有其他服务/容器在端口 80 上侦听,则可以使容器侦听其他端口:
docker run --name sitename_test -p 8080:80 sitename:1.0
这会将流量从端口 8080 重定向到容器“内部”的端口 80。
通常,在后台运行容器。为此,请将该选项添加到命令中(但出于测试目的,您可以省略以在控制台中查看输出)。-d
docker run
-d
如果决定在后台运行容器,可以使用 检查日志。要遵循日志(并在日志中查看更新)使用选项:docker logs sitename_test
-f
docker logs -f sitename_test
希望有所帮助。