Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker Swarm、Compose和PostgreSQL_Postgresql_Docker_Docker Compose - Fatal编程技术网

Docker Swarm、Compose和PostgreSQL

Docker Swarm、Compose和PostgreSQL,postgresql,docker,docker-compose,Postgresql,Docker,Docker Compose,我正在尝试运行一个依赖于postgres数据库的容器化应用程序。我使用Swarm和docker compose来管理它 我针对Swarm集群中的主机手动创建一个卷(docker volume create--name=my_data),并在我的撰写文件中使用该卷。我在compose文件中说卷是外部的 我发现,当容器启动时,数据卷和postgres应用程序不一定位于同一位置。如果它们不在同一位置,docker似乎会给我创建一个新卷 进一步的阅读让我相信,我应该看看诸如Flocker之类的批量插件。

我正在尝试运行一个依赖于postgres数据库的容器化应用程序。我使用Swarm和docker compose来管理它

我针对Swarm集群中的主机手动创建一个卷(
docker volume create--name=my_data
),并在我的撰写文件中使用该卷。我在compose文件中说卷是外部的

我发现,当容器启动时,数据卷和postgres应用程序不一定位于同一位置。如果它们不在同一位置,docker似乎会给我创建一个新卷

进一步的阅读让我相信,我应该看看诸如Flocker之类的批量插件。如果我想使用数据库实现swarm应用程序的持久数据,使用这样的卷插件是最佳实践吗

我的撰写文件

version: '2'
services:
   ui:
      image : ui
      ports:
       - 8080:8080
      environment:
       ADDRESS_SERVICE_URI: http://camel:8091
   camel:
      image : camel
      ports:
       - 18081:8081
       - 18091:8091
      expose:
       - 8081
       - 8091
   postgresql:
      image: postgres:9.4.5
      volumes:
       - app1_address_data:/var/lib/postgresql/data

volumes:
   app1_address_data:
      external: true

networks:
   default:
     external:
       name: my-net

你查过这个了吗?你明白了,需要使用某种卷插件,自动移动你的卷,使它们在主机间可用。