栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

当我的开发环境将我的代码库安装到容器中时,如何构建docker映像?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

当我的开发环境将我的代码库安装到容器中时,如何构建docker映像?

您用来开发和安装目录的容器映像应该与您在其他地方运行应用程序时生成的映像相同,或者如果无法实现,则至少基于生产映像。

以一个简单的节点应用程序为例,以下是基本图像:

FROM node:6ENV NODE_ENV=productionRUN npm install forever -gCOPY docker-entrypoint.sh /entrypoint.shWORKDIR /appCOPY package.json /app/RUN npm installCOPY . /appEXPOSE 3000ENTRYPOINT ["/entrypoint.sh"]CMD ["node", "/app/index.js"]

生产

docker run   --detach   --restart always   --publish 3000:3000   myapp

发展历程

docker run   --publish 3000:3000   --volume .:/app   --env NODE_ENV=development   myapp   forever -w /app/index.js

所以我修改了挂载,但是基本映像是相同的。挂载的文件替换了容器中的“内置”文件。

对于node.js应用程序,还有一些额外的开发更改。环境变量和用于监视/重启更改的命令。更改中的依赖项时,还需要

npminstall
在容器中手动执行。
docker exec $container npm install``package.json

开发Dockerfile

如果您需要对开发环境进行大量修改,并且不想手动指定它们,则可以

FROM
在包含开发细节的基础映像中创建一个开发映像。
Dockerfile.dev

from myapp:latestenv NODE_ENV=developmentvolume ["/app"]command ["forever", "-w", "--watchDirectory", "/app" "/app/index.js"]

然后,开发细节将存储在新映像中,但仍链接到您的真实映像。

docker build -f Dockerfile.dev -t myapp-dev .docker run -p 3000:3000 -v .:/app myapp-dev


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/412775.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号