wat*_*902 12 docker reactjs docker-compose
我经常将 React 应用程序制作为 SSR。这时候我用的是docker容器。
\n我写了以下内容Dockerfile
# pull base image\n\xe3\x83\xbb\n\xe3\x83\xbb\n\xe3\x83\xbb\nCOPY package.json ./\nCOPY package-lock.json ./\n\nRUN npm install\n\nCOPY . ./\nCMD ["npm", "start"]\nRun Code Online (Sandbox Code Playgroud)\n但是,我突然想到我可以使用volumes prop而不是copy prop在docker-compose中。如下docker-compose.yml文件:
volumes:\n- ./:/usr/src/app\nRun Code Online (Sandbox Code Playgroud)\ncopy props使用而不是有什么优点volumes props?
小智 15
Dockerfile 中的 COPY 实际上将文件复制到给定路径。想象一下这是在冰上雕刻的。就像复制所有内容一样,除非重新构建映像,否则无法从外部修改文件。卷实际上是为主机创建一个安装点。因此,如果您正在进行需要更改代码的开发,并且使用 COPY,则每次您希望将更改放入容器中时都必须重新构建映像,而使用卷时,您不必重建镜像图像更改将被传输到容器。
在开发过程中或者如果您有任何想要持久化的东西(例如数据库等),请使用卷。如果您没有对数据库进行卷挂载,则每当您重新启动容器时,数据都会丢失。
当您准备好发布应用程序并且确定不再修改源代码时,请使用 COPY。
如需进一步阅读,请查看: Docker ADD vs COPY vs VOLUME
我希望这回答了你的问题。
| 归档时间: |
|
| 查看次数: |
2970 次 |
| 最近记录: |