Здравствуйте, я использую этот код для создания контейнера для postgres, но он не работает.
version: "3.1"
services:
postgres:
image: postgres:11.14
container_name: elementspostgres
ports:
- "5432:5432"
env_file:
- ./.env
volumes:
- ./db/data:/var/lib/postgresql/data
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
Сначала я получал проблемы с отказом в разрешении. Решите ее после этого https://github.com/abiosoft/colima/issues/83#issuecomment-1339269542 После того, как эта проблема была решена, я начал получать
2024-05-27 08:21:10.743 UTC [40] FATAL: could not create file "base/13066/2618": File exists
колима версия 0.6.9 git commit: c3a31ed05f5fab8b2cdbae835198e8fb1717fd0f
время выполнения: докер арка: aarch64 клиент: v26.1.3 сервер: v26.1.1
colima status
INFO[0000] Colima is running using QEMU
INFO[0000] arch: aarch64
INFO[0000] runtime: docker
INFO[0000] mountType: 9p
INFO[0000] socket: unix:///Users/<USERNAME>/.colima/default/docker.sock
Изображение должно быть создано без ошибок.
Полный журнал во время создания образа Postgres.
[+] Running 2/0
✔ Network elements-node_default Created 0.0s
✔ Container elementspostgres Created 0.0s
Attaching to elementspostgres
elementspostgres | The files belonging to this database system will be owned by user "postgres".
elementspostgres | This user must also own the server process.
elementspostgres |
elementspostgres | The database cluster will be initialized with locale "en_US.utf8".
elementspostgres | The default database encoding has accordingly been set to "UTF8".
elementspostgres | The default text search configuration will be set to "english".
elementspostgres |
elementspostgres | Data page checksums are disabled.
elementspostgres |
elementspostgres | fixing permissions on existing directory /var/lib/postgresql/data ... ok
elementspostgres | creating subdirectories ... ok
elementspostgres | selecting default max_connections ... 100
elementspostgres | selecting default shared_buffers ... 128MB
elementspostgres | selecting default timezone ... Etc/UTC
elementspostgres | selecting dynamic shared memory implementation ... posix
elementspostgres | creating configuration files ... ok
elementspostgres | running bootstrap script ... ok
elementspostgres | 2024-05-27 08:21:10.743 UTC [40] FATAL: could not create file "base/13066/2618": File exists
elementspostgres | 2024-05-27 08:21:10.743 UTC [40] STATEMENT: CREATE DATABASE template0 IS_TEMPLATE = true ALLOW_CONNECTIONS = false;
elementspostgres |
elementspostgres | child process exited with exit code 1
elementspostgres | initdb: removing contents of data directory "/var/lib/postgresql/data"
elementspostgres | performing post-bootstrap initialization ...
elementspostgres exited with code 1
Вам следует использовать том вместо привязки локального каталога. Основной синтаксис, как показано ниже:
services:
postgres:
image: postgres:11.14
container_name: elementspostgres
ports:
- "5432:5432"
env_file:
- ./.env
volumes:
- data:/var/lib/postgresql/data
volumes:
data: {}
Он работал с тем же кодом в Docker Desktop, но в Colima произошел сбой. Спасибо, после использования громкости все заработало.
Этот вопрос выглядит так, будто вы скопировали отчет об ошибке из другой системы. Можете ли вы отредактировать вопрос, чтобы он стал скорее вопросом? Stack Overflow посвящен вопросам программирования, а также поможет выяснить, над каким кодом приложения, над которым вы работаете, возникает эта проблема.