我对不应该使用数据容器的普遍共识感到困惑。我有我想要完成的特定用例。
我想拥有 docker nginx 容器,并在其后面有一些其他带有应用程序的容器。要运行我的应用程序的最新版本,我想从我的私人 Docker 注册表下载现成的容器。该应用程序现在是纯静态的 html、javascript 的东西。
所以我的计划是创建将保存文件的 docker 映像,并将在某些 /webapp 文件夹中指定一个命名卷。nginx 容器将为这个卷提供服务。我看不到任何其他方式如何以“docker containerized”方式将一堆文件移动到远程系统。我实际上不是在创建受诅咒的数据容器吗?
无论如何,在应用容器交换期间会发生什么?当我停止应用程序容器时,卷仍然可以访问,因为它被放置在主机上。当我拉动并启动新版本的应用程序容器时。该卷将再次创建并使用存储在同一位置的图像文件进行预归档,替换主机上的内容,因此 nginx 容器将从现在开始提供应用程序的新版本。对吗?当我从 nginx 容器中引用尚不存在的卷时会发生什么。
似乎命名值不会自动与图像的内容一起归档。我也不确定如何在 docker 文件中创建命名卷,因为从这里获取的语法不起作用
FROM training/webapp
VOLUME webapp:/webapp