Не удалось создать образ докера Postgres с помощью Colima. (ошибка: не удалось создать файл)

Описание

Здравствуйте, я использую этот код для создания контейнера для 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

Операционная система

  • [ ] macOS Intel <= 13 (Вентура)
  • [ ] macOS Intel >= 14 (Сонома)
  • [ ] Apple Silicon <= 13 (Вентура)
  • [X] Apple Silicon >= 14 (Сонома)
  • [ ] Линукс

Вывод 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

Этот вопрос выглядит так, будто вы скопировали отчет об ошибке из другой системы. Можете ли вы отредактировать вопрос, чтобы он стал скорее вопросом? Stack Overflow посвящен вопросам программирования, а также поможет выяснить, над каким кодом приложения, над которым вы работаете, возникает эта проблема.

David Maze 27.05.2024 12:20
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
101
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 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 произошел сбой. Спасибо, после использования громкости все заработало.

Ravi Sigdel 28.05.2024 06:24

Другие вопросы по теме