使用持久卷启动 postgres 容器 [docker compose]

狼枪手

我的数据库容器有问题,所以我想将现有数据库(从主机)挂载到生成的容器(使用 docker-compose)。我将向您展示 yaml 文件的重要部分:

postgres:
        image: postgres
        environment:
            POSTGRES_USER: user
            POSTGRES_PASSWORD: pass
        ports:
        - "5432:5432"
        volumes:
        - ./postgres/data:/var/lib/postgresql/data

因此,当我构建并打开 docker-compose 时,postgres 容器退出了:

在此处输入图片说明

如果我删除持久卷,它会起作用!我也用 mysql、mongodb 测试过 -> 同样的问题。

你能点亮我吗?

谢谢。

狼枪手

我解决了这个问题,我想分享一下。事实上,为了让我们的容器在 'docker-compose up' 命令后打开,我们应该添加 tty 和命令参数,如:

postgres:
        image: postgres
        environment:
            POSTGRES_USER: user
            POSTGRES_PASSWORD: pass
        ports:
        - "5432:5432"
        volumes:
        - ./postgres/data:/var/lib/postgresql/data
        tty: true
        command: /bin/bash

我希望这会很有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法从docker-compose启动postgres docker容器

无法使用Sequelize的Docker Compose连接到Postgres容器

Docker Compose Postgres容器连接被主机拒绝

在Docker容器中启动Postgres

Postgres 不接受来自使用 docker-compose 的其他容器的任何连接

Docker-compose - 无法为服务 postgres 创建容器

从docker-compose文件初始化postgres容器

使用Docker / Docker compose运行Postgres迁移

使用docker-compose连接RabbitMQ容器

使用docker-compose设置容器时区

使用Docker Compose创建多个容器

无法使用docker-compose运行容器

如何使用docker-compose重新启动单个容器

docker-compose无法启动postgres映像

Docker compose不会等待Postgres启动

Docker Compose postgres db 无法启动

docker-compose容器对多个项目使用错误的容器

获取docker-compose以构建使用父容器的容器

Docker compose,從另一個容器訪問一個 Postgres 容器

如何在容器故障时使用 docker-compose 重新启动 docker 容器

docker-compose主机名以在容器之间通信与postgres一起使用,但不适用于app

如何使用Docker在分布式Cassandra容器中共享Docker-Compose卷

如何通过docker-compose在容器之间共享卷

Docker Compose-在多个容器之间共享命名卷

从容器到主机 docker-compose 的卷共享

Dockerfile无法复制&Docker-compose卷无法与容器同步

使用初始模式构建Postgres Docker容器

使用一个docker-compose.yml启动两个wikijs容器,并通过traefik分离数据库(postgres)

使用docker-compose启动后,Postgres立即关闭