docker 容器安装conposer_docker和php:将依赖项(composer)放入容器中

目前我正致力于以下解决方案:

开发环境:

将整个src添加为volume:

volumes:

- .:/app

initial composer install command

docker-compose exec app composer install

install new composer package:

docker-compose exec app composer require some/package

该软件包将通过您的composer软件包目录中的容器安装(当然默认为/ vendor),可以在您的ide中检查源代码等 .

生产环境 环境:

仅将app状态定义为volume,例如:

volumes:

- public/uploads:/app/public/uploads

添加/供应商到.dockerignore

并在构建期间运行composer install

RUN cd /app && composer install --no-dev --no-interaction --optimize-autoloader

因此,您将部署预先构建的映像,但仍能够以更灵活的方式进行开发 .

这个解决方案还有两个缺点,也许有人为我输入:

1)构建变得有点慢 - 似乎作曲家缓存无法正常工作

解决方案(我不知道在编写器中是否可行)可以是作曲家缓存目录的卷 .

2)docker创建的所有包都归root所有,因此您只能使用sudo / root会话处理这些文件/文件夹 .

我不知道如何妥善解决这个问题 . 也许我可以为开发容器创建一个具有开发用户名称的用户,并让这个用户运行命令和php-fpm等...对于 生产环境 root,我猜是好的 .

我仍然是码头 Worker 的新手,并且开放以获得更好的解决方案,所以我不接受这个答案 .

UPDATED

在 Dockerfile 中在docker用户中添加新用户 . 如下

RUN useradd -ms /bin/bash newuser

USER newuser

如果你想创建家庭用户

WORKDIR /home/newuser

要么

mkdir /home/newuser

如果你想回到root用户,你可以这样做

USER root

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527051.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows虚拟服务器vm,史上最详细的虚拟机VMware12安装Windows7教程 | 心塞塞

首先你电脑必须安装了 VMware ,推荐版本 VMware12 或者 VMware 11 版本,然后你还需要一个系统镜像,可以通过下面链接下载 Win7 的镜像,复制链接,打开迅雷新建任务即可下载:Windows7 64位1ed2k://|file|cn_w…

shader 获取法线_Unity Shader 入门到改行5——法线贴图

the best of blur1. 法线贴图理论1.1 什么是法线贴图一般的贴图中存储的是表面颜色值(RGBA),而法线贴图存放的则是法线信息(xyzw),假设某顶点处的 uv 坐标为 (u,v), 那么在法线贴图 (u,v)处纹素的值表示该顶点的“法线”方向。通常法线贴图中存储的并不是…

主站系统服务器选择,配电网自动化主站系统的结构_功能及操作系统的选择.doc...

业界建设行业专版水电暖通配电网自动化主站系统的结构,功能及操作系统的选择"徐德勇摘 要:本文主要从系统结构"子系统划分"设计实施"操作系统的选择"及其功能等方面介绍了配电自动化主站系统%关键词:配电自动化*系统…

python切面异常处理_Spring项目中优雅的异常处理

Spring项目中优雅的异常处理前言如今的Java Web项目多是以 MVC 模式构建的,通常我们都是将 Service 层的异常统一的抛出,包括自定义异常和一些意外出现的异常,以便进行事务回滚,而 Service 的调用者 Controller 则承担着异常处理的…

ubuntu查看服务器信息,查看Ubuntu服务器的版本信息

Docker on YARN在Hulu的实现这篇文章是我来Hulu这一年做的主要工作,结合当下流行的两个开源方案Docker和YARN,提供了一套灵活的编程模型,目前支持DAG编程模型,将会支持长服务编程模型. 基于Voidbox,开发者可以很 ...使用angularJS遇见的一些问题的解决方案1. angularJS的$http.…

方法 手写promise_JS探索-手写Promise

无意间在知乎上刷到Monad这个概念,去了解了一下,前端的Promise就是一种Monad模式,所以试着学习一下手写一个Promise.本文内容主要参考于只会用?一起来手写一个合乎规范的Promise​www.jianshu.comPromise是什么所谓Promise&#x…

dcs服务器性能指标,第6章DCS的性能指标.PDF

第6章DCS的性能指标第 6 章 DCS 的性能指标随着 DCS 的广泛应用,对 DCS 的可靠性要求也越来越高,因此正确评价 DCS 的可靠性越来越显得重要。DCS 的可靠与否,通常包含两重意思:一是指产品在规定的时间内,完成规定功能的…

12如何隐藏dock栏_一键隐藏 iPhone 刘海和底部 Dock 栏,简洁又好看

技能: 隐藏刘海和底部dock 栏难度系数:2颗星适用系统:iOS 13(部分非iOS13也适用)最近,小雷打开手机,看到最多的关键词,就是:iOS13又双叒叕更新了。。。而且也看到不止一位网友晒这个有趣的新功能…

湖南hp服务器虚拟化解决方案,HP刀片服务器虚拟化整合解决方案-20210729062411.docx-原创力文档...

HP刀片办事器 虚拟化整合解决方案22 -目录TOC \o "1-3" \h \u 1.办事器硬件整合 - 2 -什么是办事器整合 - 2 -1.2 为何要做办事器整合 - 2 -2.刀片办事器的观点 - 3 -3.刀片办事器如何整合IT资源 - 4 -3.1 新一代数据中心对IT设施系…

宝塔php安装那个合_使用宝塔面板安装nextcloud | 启用本地存储 | 安装smbclient

宝塔面板安装nextcloud | 启用本地存储使用宝塔面板搭建nextcloud服务后,在设置外部存储时总是无法启用本地存储。问题1:提示:“smbclient” 未安装。无法挂载 "SMB / CIFS", "SMB / CIFS 使用 OC 登录信息"。请联系管理…

springbboot加密打包_Spring Boot 配置 Security 密码加密

依赖org.springframework.bootspring-boot-starter-security注入beanSpringBootApplicationpublic class UserApplication {public static void main(String[] args) {SpringApplication.run(UserApplication.class, args);}Beanpublic BCryptPasswordEncoder encoding(){retur…

mysql groupby 拼接_mysql groupby 字段合并问题(group_concat)

在我们的日常mysql查询中,我们可能会遇到这样的情况:对表中的所有记录进行分类,并且我需要得到每个分类中某个字段的全部成员。上面的话,大家看起来可能不太好懂,下面举一个例子来给大家说明。现在我们有一张表&#x…

mysql 基础教程 西泽 好吗_Mysql基础教程

往期推荐SQL语句分类DDL:数据定义语言,用来定义数据库对象:库、表、列等DML:数据操作语言,用来定义数据库记录(数据)DCL:数据控制语言,用来定义访问权限和安全级别;DQL:数…

mysql 字符集测试_关于字符集的测试报告_MySQL

nls_lang用于设置客户端的字符集。影响sqlplus界面的语言。regedit:hkey_local_machine/software/oracle/home0nls_lang键值1、取值为‘US7ASCII或为空2、取值为‘simplified chinese_china.ZHS16GBKnls_characterset用于设置数据库内部字符集,决定数据记录保存的格…

mysql数学函数名_MYSQL 常见数学函数说明

摘要:下文讲述MySQL常见数学函数的说明,如下所示:mysql > select round(2.34);-------------| round(2.34) |-------------| 2 |-------------1 row in set (0.00 sec)mysql > select round(2.34,1);---------------| round(2.34,1) |---------------| 2.3 |-…

mysql聚集索引 myisam_一句话说清聚集索引和非聚集索引以及MySQL的InnoDB和MyISAM

版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/21aspnet/article/details/89303988聚集索引和非聚集索引以及MySQL的InnoDB和MyISAM经常遇到有人向我咨询这个问题,其实呢,网上帖子很多,也…

mysql for loop_MySQL循环语句 - Linux就该这么学的个人空间 - OSCHINA - 中文开源技术交流社区...

mysql常见的三种循环方式:while、repeat和loop循环。还有一种goto,不推荐使用。1.while循环-- 设置mysql分隔符为//,也就意味着,当遇到下一个//时,整体执行SQL语句DELIMITER //DROP PROCEDURE if EXISTS ‘test’; # 如…

mysql的存储过程放在哪里_mysql存储过程求解,错误在哪里?

DELIMITER $$ALTER PROCEDURE sp_test(vdnId CHAR(2),startTimeStr CHAR(8))BEGINDECLARE v_startTime DATETIME;DECLARE v_endTime DATETIME;DECLARE v_VDNName CHAR(2);DECLARE v_sql VARCHAR(1000);/*判断输入参数的合法性*/SELECT t.VDN_name INTO v_VDNName FROM gdmdw.t_…

ue4插件导入导出_Blender到UE4的无缝衔接

Hello . 大家好本文给大家介绍一下Send To Unreal插件我是Vee1简介Send To Unreal是Epic官方开发的用于Blender和UE4快速同步的插件,支持静态物体、骨骼物体、动画等等。省去了Blender导出-选择目录文件-UE4导入这个中间步骤,效率提升不是一般得多。插件…

mysql数据库管理系统模式_MYSQL命令行模式管理MySql的一点心得

MYSQL命令行模式管理MySql的一点心得MYSQL命令行模式管理MySql的一点心得MySql数据库是中小型网站后台数据库的首选,因为它对非商业应用是免费的.网站开发者可以搭建一个"LinuxApachePHPMySql"平台,这是一个最省钱的高效平台.在使用MySql进行开发时,MySql自带的文档对…