Docker:将新的 postgres 容器重新连接到现有的数据容器
Docker: Reconnect new postgres container to existing Data container
我有 3 个 docker 个容器。一个 运行 django,另一个 运行 postgres,第三个是 postgres 的数据容器。我正在使用 docker-compose 来 link 它们。
docker-compose.yml
dbdata:
image: postgres
container_name: dbdata_container
volumes:
- ./data:/var/lib/postgresql/data
command: true
db:
image: postgres
container_name: postgres_container
ports:
- "5432:5432"
volumes_from:
- dbdata
web:
build: .
container_name: django_container
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
links:
- db
我错误地删除了我的 postgres 容器。
如何创建连接到现有数据容器的新 postgres 容器?
我试过了运行:
docker-compose up
失败并出现以下错误:
web_1 | django.db.utils.OperationalError: could not translate host name "db" to address: Name or service not known
当我使用 PgMastero 连接到 postgres 时,我只能看到其中的任何表格。
请帮忙
找到解决方法。在这里更新它,以便它可以帮助其他可能遇到同样问题的人。
我认为一旦 postgres 容器被移除,link 就会变得一团糟。
因此,如果我这样做 docker-compose up
,docker 无法 link 数据库容器,我想它仍然指向已删除的容器或新容器被赋予不同 link 姓名.
删除所有三个容器并执行 docker-compose up
即可。我不确定这是为什么,可能是 docker-compose 模块中的一些错误。
我有 3 个 docker 个容器。一个 运行 django,另一个 运行 postgres,第三个是 postgres 的数据容器。我正在使用 docker-compose 来 link 它们。
docker-compose.yml
dbdata:
image: postgres
container_name: dbdata_container
volumes:
- ./data:/var/lib/postgresql/data
command: true
db:
image: postgres
container_name: postgres_container
ports:
- "5432:5432"
volumes_from:
- dbdata
web:
build: .
container_name: django_container
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
links:
- db
我错误地删除了我的 postgres 容器。
如何创建连接到现有数据容器的新 postgres 容器?
我试过了运行:
docker-compose up
失败并出现以下错误:
web_1 | django.db.utils.OperationalError: could not translate host name "db" to address: Name or service not known
当我使用 PgMastero 连接到 postgres 时,我只能看到其中的任何表格。
请帮忙
找到解决方法。在这里更新它,以便它可以帮助其他可能遇到同样问题的人。
我认为一旦 postgres 容器被移除,link 就会变得一团糟。
因此,如果我这样做 docker-compose up
,docker 无法 link 数据库容器,我想它仍然指向已删除的容器或新容器被赋予不同 link 姓名.
删除所有三个容器并执行 docker-compose up
即可。我不确定这是为什么,可能是 docker-compose 模块中的一些错误。