Skip to content

postgres containers don't work in rootless podman #339

@praiskup

Description

@praiskup
$ podman run -e POSTGRESQL_ADMIN_PASSWORD=adsf --rm -ti docker.io/centos/postgresql-10-centos7
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/pgsql/data/userdata ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

    pg_ctl -D /var/lib/pgsql/data/userdata -l logfile start

waiting for server to start....2019-08-10 08:04:44.644 UTC [35] LOG:  could not set permissions of file "/var/run/postgresql/.s.PGSQL.5432": No such device or address
2019-08-10 08:04:44.644 UTC [35] WARNING:  could not create Unix-domain socket in directory "/var/run/postgresql"
2019-08-10 08:04:44.649 UTC [35] LOG:  could not set permissions of file "/tmp/.s.PGSQL.5432": No such device or address
2019-08-10 08:04:44.649 UTC [35] WARNING:  could not create Unix-domain socket in directory "/tmp"
2019-08-10 08:04:44.649 UTC [35] FATAL:  could not create any Unix-domain sockets
2019-08-10 08:04:44.650 UTC [35] LOG:  database system is shut down
 stopped waiting
pg_ctl: could not start server
Examine the log output.

Seems like /tmp is not tmpfs, but fuse.overlayfs -> and bind() there doesn't create socket file.

$ rpm -q podman buildah runc container-selinux
podman-1.4.4-4.fc30.x86_64
buildah-1.9.2-2.fc30.x86_64
runc-1.0.0-93.dev.gitb9b6cc6.fc30.x86_64
container-selinux-2.111.0-1.fc30.noarch

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions