php - chmod 在 Dockerfile RUN 命令中无法正常工作。在构建过程中显示正确,但似乎没有坚持
问题描述
使用以下 dockerfile,我正在尝试创建一个可用于 PHP 的文件夹。
FROM trafex/alpine-nginx-php7:1.2.0
# Add mysql pdo extensions
USER root
RUN apk add php7-pdo php7-pdo_mysql
COPY --chown=nobody:nobody nginx.conf /etc/nginx/nginx.conf
COPY --chown=nobody:nobody public_html/ /var/www/html
RUN chmod 777 /var/www/html/public/ifpos/hits && ls -l /var/www/html/public/ifpos/
USER nobody
在构建过程中,这就是我所看到的
Step 6/7 : RUN chmod 777 /var/www/html/public/ifpos/hits && ls -l /var/www/html/public/ifpos/
---> Running in 027345f34fc9
total 8
drwxrwxrwx 2 nobody nobody 4096 Jan 17 04:21 hits
-rw-r--r-- 1 nobody nobody 817 Jan 17 03:04 listener.php
但是,当我终端进入容器并列出目录时,我可以看到它没有正确设置。
/var/www/html/public/ifpos $ ls -l
total 8
dr-xr-xr-x 2 nobody nobody 4096 Jan 17 04:21 hits
-rw-r--r-- 1 nobody nobody 817 Jan 17 03:04 listener.php
请帮忙,这让我很头疼!
解决方案
发生这种情况是因为在图像/var/www/html
中标记为- https://hub.docker.com/r/trafex/alpine-nginx-php7/dockerfileVOLUME
trafex/alpine-nginx-php7:1.2.0
您可以运行chmod
作为入口点脚本的一部分,该脚本chmod
首先执行然后调用实际的入口点"/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"
推荐阅读
- angular - 在 PrimeNG 表中过滤后自定义排序不起作用
- javascript - 如何知道javascript中的CPU使用率?
- ruby-on-rails - graphql-ruby 基于连接的分页如何影响 ActiveRecord 查询?
- algorithm - 图上 DFS 的时间复杂度 (O(V+E)) 与矩阵上的 DFS (3^(M*N))
- phpstorm - JetBrains IDE - 如何在“Alt+Shift+Enter”之后删除选择
- gstreamer - 在 C 应用程序中使用合成器
- python-3.x - python网络爬虫,响应[403]
- javascript - 寻找交互式 SVG 地图脚本
- wso2 - 带有 JSON 输入的 WSO2 Smooks 中介
- javascript - 代码没有结果,初学者正在苦苦挣扎