您应该将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 .
它在我的 case 中奏效了:
Removing intermediate container f03522715567
Successfully built 9d69212196a2
如果有任何错误,请告诉我.
EDIT:
你应该看到这样的东西:
REPOSITORY TAG IMAGE ID CREATED SIZE
sitename latest 9d69212196a2 19 minutes ago 414 MB
<none> <none> b6c69576a359 25 minutes ago 412.3 MB
EDIT2:个
我只想仔细判断一下所有东西:
请这样运行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端口.
通常在后台运行container.为此,将-d
选项添加到docker run
命令中(但出于测试目的,可以省略-d
以在控制台中查看输出).
如果决定在后台运行容器,可以使用docker logs sitename_test
判断日志(log).要查看日志(log)(请参阅日志(log)中的更新),请使用-f
选项:
docker logs -f sitename_test
希望有帮助.