nginx mkdir失败 php,错误:mkdir与chown在Dockerfile中不起作用(nginx与php-fpm)

对于版本控制和安全性,我想将两个Dockerfiles合并为一个,然后为.sock =>运行rmdir和chown创建一个目录 . 没有rmdir和chown,如果在端口:9000上运行,我可以完美地构建docker . 一旦我尝试设置.sock的目录,就在dockerfile中,docker build进程退出 . 以下所有细节 . 非常感谢您的帮助 .

第一个Dockerfile一半

FROM debian:jessie

ENV NGINX_VERSION 1.11.6-1~jessie

RUN apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 \

&& echo "deb http://nginx.org/packages/mainline/debian/ jessie nginx" >> /etc/apt/sources.list \

&& apt-get update \

&& apt-get install --no-install-recommends --no-install-suggests -y \

ca-certificates \

nginx=${NGINX_VERSION} \

nginx-module-xslt \

nginx-module-geoip \

nginx-module-image-filter \

nginx-module-perl \

nginx-module-njs \

gettext-base \

&& rm -rf /var/lib/apt/lists/*

# forward request and error logs to docker log collector

RUN ln -sf /dev/stdout /var/log/nginx/access.log \

&& ln -sf /dev/stderr /var/log/nginx/error.log

EXPOSE 80 443

#CMD ["nginx", "-g", "daemon off;"]

第二个Dockerfiel半with this PHP code和相应的文件高于此代码一级 . 我不公开9000端口并注释掉CMD . 然后通过supervisord管理所有内容 .

我在docker-compose的帮助下构建它

version: '2'

services:

web:

build:

context: ../../builds/nx1116Php71RC6Comp123_J

dockerfile: Dockerfile

image:

tl_nx1116php71rc6comp123:v1

#mounts HOST:CONTAINER (the actual server to the container system)

volumes:

#nginx

- ../../data/nxphp/nginx1116/html:/usr/share/nginx/html

- ../../data/nxphp/nginx1116/conf.d:/etc/nginx/conf.d

- ../../logs/nxphp:/var/log/nginx

#PHP

- ../../data/nxphp/php71fpm/etc:/usr/local/etc

# - ../../logs/nxphp/php71fpm:?????

#Supervisor

- ../../data/nxphp/supervisor/supervisor.conf:/etc/supervisor.conf

- ../../logs/supervisor:/var/log/supervisor

#foward port HOST:CONTAINER

ports:

- "80:80"

- "443:443"

当我这样运行时,设置php和nginx confs以使用9000一切正常 .

BUT 我想和.sock谈谈 . 没有,所以我需要创建一个/目录,其中nginx可以放置它 . 因此,在我的脑海中,我放在我的docker文件的末尾

RUN set -xe \

mkdir -p /var/run/php-fpm

&& chown www-data:www-data /var/run/php-fpm

然而,总是以建筑错误结束 . 当我执行部分构建的docker镜像时,我找不到/ var / run / php-fpm . 我也尝试将它放入/运行,但结果相同 . 从它做两个RUN命令“工作”,这样我没有错误,但文件夹仍然不存在,然后显然我的图像退出它找不到.sock文件夹 .

&& {echo'[global]'; echo'daemonize = no';回声; echo'[www]'; echo'listen = [::]:9000'; } | tee php-fpm.d / zz-docker.conf --->使用缓存---> 609c93af398d步骤22:运行设置-xe mkdir -p / var / run / php-fpm && chown www-data:www-data / var / run / php-fpm --->在de4b7443a82a中运行chown www-data:www-data / var / run / php-fpm chown:无法访问'/ var / run / php-fpm':没有这样的文件或目录错误:服务'web'无法构建:命令'/ bin / sh -c set -xe mkdir -p / var / run / php-fpm && chown www-data:www-data / var / run / php- fpm'返回非零代码:1

任何帮助将受到高度赞赏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值