我是docker的新手,我正在使用docker compose。由于某种原因,我的postgres容器现在已经坏了
我正在尝试此命令docker-compose up --no-deps --build db
它正在给我这个:
MacBook-Pro-de-Javier:goxo.api javier$ docker-compose up --no-deps --build db
Recreating testapi_db_1
Attaching to testapi_db_1
db_1 | LOG: database system was shut down at 2017-04-20 17:19:05 UTC
db_1 | LOG: MultiXact member wraparound protections are now enabled
db_1 | LOG: database system is ready to accept connections
db_1 | LOG: autovacuum launcher started
每当我尝试连接时(使用与之前相同的连接争论),我得到了这个:
^[[Adb_1 | FATAL: database "test" does not exist
这是我的docker-compose.yml
的一部分version: "3"
services:
db:
image: postgres
ports:
- "3700:5432"
environment:
POSTGRES_HOST: "127.0.0.1"
POSTGRES_DB: "test"
POSTGRES_USER: "postgres"
POSTGRES_PASSWORD: "postgres1"
tmpfs:
- /tmp
- /var/run/postgresql
volumes:
- db:/var/lib/postgresql/data
- ./config/postgres-initdb.sh:/docker-entrypoint-initdb.d/initdb.sh
关于如何重新创建Docker镜像之前的任何想法?它正在工作,因为它是第一次创建
由于
编辑1:如果我运行docker-compose build && docker-compose up
终端抛出这个:
db uses an image, skipping
编辑2:此命令不会再次创建数据库:
docker-compose up --force-recreate --abort-on-container-exit --build db
答案 0 :(得分:2)
您是否尝试过重建单个postgres容器?
docker build -t <postgrescontainer>
或使用docker-compose:
docker-compose up --build
重新创建图像而不使用旧的“使用过的”图像。
答案 1 :(得分:0)
您可以使用
查看系统上的图像 docker images
应显示您的图片,然后
docker history --no-trunc your_image
应显示用于创建图像的命令
这是我的不足,就像你看到像
这样的东西 ADD * /opt
您不确切地知道哪些文件被复制,以及包含的文件是什么
还有dockerfile-from-image
https://github.com/CenturyLinkLabs/dockerfile-from-image
最近似乎有一个错误(我不知道它是否已修复)