在文档中详细描述了在 Docker 映像中创建 postgreSQL 数据库
但是当数据库位于生产服务器上时呢?启动容器时如何附加外部数据库?
据我了解,在构建图像时,它不能包含在 Dockerfile 中,因为它仅在生产服务器上使用。
请告诉我们有关数据库交互和容器的信息。在我的理解中,应该有两个基础——测试(针对开发人员、测试人员)和实战(在主站点上使用)。
这个方案可以和 Docker 容器一起使用吗?
在文档中详细描述了在 Docker 映像中创建 postgreSQL 数据库
但是当数据库位于生产服务器上时呢?启动容器时如何附加外部数据库?
据我了解,在构建图像时,它不能包含在 Dockerfile 中,因为它仅在生产服务器上使用。
请告诉我们有关数据库交互和容器的信息。在我的理解中,应该有两个基础——测试(针对开发人员、测试人员)和实战(在主站点上使用)。
这个方案可以和 Docker 容器一起使用吗?
如果您通过网络访问数据库,那么您需要做的就是将数据库的地址传递给容器。这可以通过多种方式完成:
--add-host <dns имя>:<IP>-e "DB_ADDRESS=<IP или dns имя>"docker run服务发现并不像看起来那么简单。通过变量传递数据库地址或使用链接并不能解决这个问题。它只是推迟。重新启动带有数据库的容器将需要重新启动与其关联的所有服务。在 DNS 的帮助下,此类任务可以非常优雅地解决。例如使用领事。该服务是使用 REST API 注册的:
该服务通过域名访问。例如,对于 domain.tld 域:
如果您决定使用 Consul:文章Service Discovery with Consul将帮助您了解如何启动集群和注册服务。