Problem starting up docker for the first time.

Hi,

Docker created using below command on "Debian stretch 9.13" with arm64 architecture.

docker run --detach --name mdb -v /sharedfolders/Appdata/emoncms/test:/var/lib/mysql --env MARIADB_USER=oleg --env MARIADB_PASSWORD=my_cool_secret --env MARIADB_ROOT_PASSWORD=testing  mariadb:latest

Docker image used

REPOSITORY                          TAG                             IMAGE ID            CREATED             SIZE
mariadb                             latest                          46ecf4f48e29        6 days ago          302MB

Below are the docker logs after creating it. It doesn't stay up so I am not able to login to console to execute any commands.

2022-09-08 21:14:27+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.9.2+maria~ubu2204 started.
2022-09-08 21:14:28+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2022-09-08 21:14:28+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.9.2+maria~ubu2204 started.
2022-09-08 21:14:28+00:00 [Note] [Entrypoint]: Initializing database files

FATAL ERROR: Could not find /usr/bin/my_print_defaults

If you compiled from source, you need to either run 'make install' to
copy the software into the correct location ready for operation.
If you don't want to do a full install, you can use the --srcdir
option to only install the mysql database and privilege tables.

If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.

The latest information about mysql_install_db is available at
https://mariadb.com/kb/en/installing-system-tables-mysql_install_db

Do let me know if you need any more information on this.

Thank you,

Oleg

Answer Answered by Daniel Black in this comment.

This looks like the problem we where seeing in our infra MDBF-357. The common bit is the -x "$dirname0/@bindir@/my_print_defaults" part of mariadb-install-db failing the same way.

In short the docker version you are using in the (end of life) squeeze is filtering out the faccess2 system call that bash is using to test the presence of my_print_defaults.

--security-opt seccomp=unconfined might help with your current version, but a better solution is upgrading squeeze and the OCI container runtime that comes with it.

I also recommend podman instead of docker. The command line options are the same. . Debian unstable versions have podman-docker. I have a docker -> podman symlink for the tools/scripts that use docker.

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.