mjl.
← All articles

Podman phpMyAdmin and Database Verification

podmanphpmyadminmariadbdatabases

Start with Podman Multi-Container Web and Database Stacks. phpMyAdmin is an administration tool, not a replacement for backups, migrations, or least-privilege database accounts.

Run phpMyAdmin

podman run --name phpmyadmin --detach \
  --network app-net \
  --publish 8081:80 \
  --env PMA_HOST=db \
  --env PMA_PORT=3306 \
  docker.io/phpmyadmin:5

Open http://127.0.0.1:8081 only from the lab host. Do not publish this administration interface to an untrusted network.

Verify the database

podman exec db mariadb -uapp -pchange-me-now app

Inside the client:

CREATE TABLE notes (
  id INT PRIMARY KEY AUTO_INCREMENT,
  body VARCHAR(255) NOT NULL
);
INSERT INTO notes (body) VALUES ('first test');
SELECT * FROM notes;

For repeatable work, put schema changes in a migration file rather than manually relying on a web interface.

Application connectivity

The application should use db:3306 and the application credentials, not the root account. If it fails, check network membership, DNS resolution, credentials, extension availability, and database readiness in that order.

podman network inspect app-net
podman exec web getent hosts db
podman logs web