Университетский кластер недавно изменил Singularity с версии 2 на 3. До этого момента я без проблем запускал контейнер Postgres 11 (созданный из образа Docker). Образ был построен как:
singularity build postgres11.sif docker://postgres:11
Однако теперь в v3 сервер Postgres не запускается, потому что:
pg_ctl -D /var/lib/postgresql/data/pgdata -l logfile start
could not create lock file "/var/run/postgresql/.s.PGSQL.5432.lock": Read-only file system
Я тестировал эту проблему локально:
mkdir -p /var/run/postgresql/test
mkdir: cannot create directory ‘/var/run/postgresql/test’: Read-only file system
mkdir -p /var/run/postgresql/test
ls /var/run/postgresql/
test
Кроме того, в Файл определения Docker Я вижу:
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 2777 /var/run/postgresql
Однако владельцы папок также кажутся разными:
ls -l /var/run/
drwxrwsrwx 2 postgres postgres 3 Jul 23 00:29 postgresql
ls -l /var/run/
drwxrwsrwx 2 root root 3 Mar 31 15:45 postgresql
Например, пытаясь:
chown -R root:root /var/run/postgresql
chown: changing ownership of '/var/run/postgresql': Read-only file system
У меня такая же проблема.
Что еще можно попробовать?
Спасибо за любой совет.