postgresql – 如何创建docker-compose版本2以使用卷拥有持久的p
发布时间:2020-12-13 16:30:59 所属栏目:百科 来源:网络整理
导读:我知道使用较旧版本的docker-compose,我们可以创建另一个只包含数据卷的容器,并使用volumes_from链接它以使其成为“仅数据容器”.但是,我想测试使用新语法. version: '2'services: app: build: . links: - psql psql: image: postgres volumes_from: - psqld
我知道使用较旧版本的docker-compose,我们可以创建另一个只包含数据卷的容器,并使用volumes_from链接它以使其成为“仅数据容器”.但是,我想测试使用新语法.
version: '2' services: app: build: . links: - psql psql: image: postgres volumes_from: - psqldata ports: - "5432:5432" psqldata: image: postgres volumes: - psqlvolumes:/var/lib/postgresql/data/ volumes: psqlvolumes: driver: local 这是基于this post. 我有另一个脚本运行,等待这个postgres容器在其他容器运行之前启动,例如: container: build: . volumes: - ./scripts/wait-for-postgres.sh:/code/wait-for-postgres.sh entrypoint: ./wait-for-postgres.sh "command" 脚本看起来像: #!/bin/bash set -e export PGPASSWORD=postgres cmd="$@" until psql -h "postgres" -U "postgres" -c 'l'; do >&2 echo "Postgres is unavailable - sleeping" sleep 1 done >&2 echo "Postgres is up - executing command" exec $cmd 这是从码头网站上获取的. 这只会导致容器停滞而根本不会出现,我甚至无法使用我需要的表来初始化postgres容器.
运行检查脚本不需要版本2,因为postgres一旦启动就会开始监听,您可以使用depends_on来定义依赖关系.以下是我在postgres上设置postgres,volume和server(glassfish)的方法:
version: '2' services: my-app: image: my-glassfish-image depends_on: - my-db my-db: image: my-postgres-image volumes: - postgres-db-volume:/data/postgres volumes: postgres-db-volume: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – Rails:连接到ORM生成器
- ruby-on-rails – Rails Twitter Bootstrap:标签在Ajax渲染
- 脱机安装软件包列表:依次获取依赖关系
- ruby-on-rails-4 – Rails coffeescript:TypeError:Objec
- Access、Hybrid和Trunk的理解
- c# – WinForms.如何在使用BindingNavigator时使DataGridVi
- C STL删除错误
- C# 添加、修改以及删除Excel迷你图表的方法
- 编译sqlite3.dll时的问题
- ACE_Reactor模式(handle_input的工作)V1.0