Ela*_*ian 8 production docker dockerfile
我刚开始使用 docker 进行开发,但想在我最新的项目中尝试一下,但遇到了几个问题。
我有一个场景,我想将当前项目目录作为卷链接到开发模式下正在运行的 docker 容器,以便可以在本地完成文件更改,而无需每次重新启动容器。为此,我有以下命令:
docker run --name app_instance -p 3100:80 -v $(pwd):/app appimage
相反,在生产中我想从当前项目目录复制文件。docker 文件中的 EG ADD . /app(使用 .dockerignore 文件来忽略某些文件夹)。另外,我想安装一个卷用于持久存储。对于这种情况,我有以下命令:
docker run --name app_instance -p 80:80 -v ./filestore:/app/filestore appimage
我的问题是,只有一个 dockerfile,对于开发命令,将安装一个卷,/app并且还会使用ADD . /app. 我还没有测试过在这种情况下会发生什么,但我假设将两者用于同一目的地是不正确的。
我的问题是,处理这种情况的最佳做法是什么?
我想到的解决方案:
/app开发期间不同的路径,并忽略 dockerfile 在容器中创建的 /app 目录我的问题是,只有一个 dockerfile,对于开发命令,将在 /app 处安装一个卷,并且还会使用 ADD 复制文件。/应用程序。我还没有测试过在这种情况下会发生什么,但我假设将两者用于同一目的地是不正确的。
对于这种情况,它将执行以下操作:
a) 在 docker 构建时将主机服务器中的代码添加到容器中的应用程序文件夹中。
b) docker运行时将本地应用程序挂载到容器中的文件夹中,这里将始终是您最新的开发代码。
但它会覆盖你在dockerfile中添加的内容,所以这可以满足你的要求。您应该尝试一下,不需要任何复杂的解决方案。
| 归档时间: |
|
| 查看次数: |
4391 次 |
| 最近记录: |