docker - 更新 Strapi Docker package.json
问题描述
我正在通过尝试将 Strapi CMS 容器化来学习 Docker。默认的 Docker 映像(https://github.com/strapi/strapi-docker)作为一个起点工作得很好,但我正在尝试将几个包添加到 Strapi 实例以满足我的需要(在 Azure 存储帐户中添加支持使用https://www.npmjs.com/package/strapi-provider-upload-azure-storage)。由于我是 Docker 新手,我很难弄清楚如何让容器安装该包作为 Docker 运行过程的一部分。
我看到 Strapi/base 图像 Dockerfile 包含引用 package.json 文件的这一行:
复制 ./package.json ./
我假设我会在其中添加对我想要安装的包的引用,以便稍后它们由 npm 安装,但我不确定 package.json 文件的位置,更不用说如何修改了它。
非常感谢您在 Docker 运行过程中确定如何安装该软件包的任何帮助!
解决方案
我在这里遵循了 Docker 团队的一些建议:
https://www.docker.com/blog/keep-nodejs-rockin-in-docker/
docker-compose
在使用和图像执行初始设置后strapi/strapi
,我能够使用docker-compose run <service name> yarn add <package>
.
我选择了这条路线,因为我在安装Sharp库时遇到了麻烦——它对Linux 和Mac OS 有不同的依赖项/二进制文件。这种方法对我来说效果很好,但缺点是您无法将node_modules
文件夹安装为卷,并且在容器中安装软件包可能需要更长的时间。
推荐阅读
- mongodb - 如何将一个集合的数据传输到另一个 mongodb
- python - 如果我们在生成器对象引发“StopIteration”异常之前停止迭代会发生什么
- string - Scala如何转义3个双引号
- c# - ADO.NET + T-SQL 从另一个数据库调用标量函数?
- reactjs - Js包装的文件上传请求返回空数组
- sql - 如何获取仅部分字符串重复的所有行?
- csv - 从 S3 将 .csv 格式的指标读入 prometheus
- c# - 非空对象上的 NullReference 异常
- laravel - Laravel:控制器资源索引不返回视图或字符串
- docker - Gitlab Runner Docker 容器无法连接到 Prometheus