首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在docker compose for postgres中使用卷?

如何在docker compose for postgres中使用卷?
EN

Stack Overflow用户
提问于 2017-02-08 15:43:34
回答 2查看 54.3K关注 0票数 38

这是我正在使用的image

我把它命名为posgres_test

如果我单独运行映像

代码语言:javascript
运行
复制
docker run -i -t -v="test_volume:/var/lib/postgresql" -p 5432:5432 posgres_test

我可以使用以下命令访问它

代码语言:javascript
运行
复制
psql -h 192.168.99.100 -p 5432 -U pguser -W pgdb

或者我可以使用我的golang应用程序访问它

代码语言:javascript
运行
复制
// host is set to postgres
db, err := sql.Open("postgres", "postgres://pguser:pguser@postgres:5432/pgdb")
// table test_db is manually created.
rows, err := db.Query("SELECT name FROM test_db WHERE)

但是,如果我使用docker compose

docker-compose.yml

代码语言:javascript
运行
复制
version: "2"
services:
  postgres:
    image: my_image/postgresql:9.3
    volumes:
      - test_volume:/var/lib/postgresql
    ports:
      - "5432:5432"
  web:
    image: my-golang-app4
    ports:
      - "8080:8080"
volumes:
  test_volume: {}

我得到了以下信息

代码语言:javascript
运行
复制
pguser@pgdb ERROR:  relation "test_db" does not exist at character 15

我确信test_db存在于test_volume中,因为

代码语言:javascript
运行
复制
docker run -i -t -v="test_volume:/var/lib/postgresql" -p 5432:5432 posgres_test
psql -h 192.168.99.100 -p 5432 -U pguser -W pgdb

\dt

将显示我创建的表

但我在docker compose中的应用程序似乎找不到它

有人能帮帮我吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42107364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档