Tag: php dockerfile

在dockerfile中,在RUN语句中创build或复制文件或目录后,它不存在

我面临下面的dockerfile下面的问题ilustrated: FROM richarvey/nginx-php-fpm WORKDIR /var/www/html RUN touch test.txt CMD while true; do sleep 1000; done 在Docker上面运行作为项目容器并通过login docker exec -it project /bin/bash 我们将si'/var/www/html/test.txt'不存在。 这是更大的问题,尤其是如果我们而不是创build一个文件想要例如在PHP laravel项目中使用composer php: WORKDIR /var/www/html COPY ./composer.json . COPY ./composer.lock . RUN composer install –no-scripts –no-autoloader 然后,我们不幸地发现, 供应商的目录不存在…

在特定进程的开发环境中将docker作为非root用户运行

我正在继续学习Docker以及如何处理图像和容器。 我正在研究在工作中使用的图像。 这是Dockerfile : FROM ubuntu:trusty … RUN curl -sS https://getcomposer.org/installer | php — –install-dir=/usr/local/bin –filename=composer && \ chown www-data /usr/local/bin/composer && composer –version RUN composer global require sebastian/phpcpd && \ composer global require phpmd/phpmd && \ composer global require squizlabs/php_codesniffer … 它的作品,但每次我build立一个图像,我看到关于composer php作为root用户运行恼人的消息,这是不坏的,但我想改变这种行为只是为了好玩:)并学习。 我想创build并保留(用于另一种用法,也可能用于其他任务)用户docker-dev运行此任务。 这个用户应该有一个home目录, composer应该安装全局库,但在这个用户主目录下。 现在composer被安装在/root/.composer下,每个库都安装在那里,我想把它变成/home/docker-dev/.composer ,然后安装在那里的库。 我已经阅读了很多关于这个话题的文档: http://www.projectatomic.io/docs/docker-image-author-guidance/ https://github.com/airdock-io/docker-base/wiki/How-Managing-user-in-docker-container http://blog.dscpl.com.au/2015/12/overriding-user-docker-containers-run-as.html 在Docker中以非root用户身份运行应用程序 http://www.yegor256.com/2014/08/29/docker-non-root.html […]