Containers
Dockerfiles and Docker Compose setups you can start with one command, for databases, caches, mail testing and web apps.
These pages write Dockerfiles, Docker Compose files and Kubernetes YAML you can start with one command. Most set up a database, a cache, a mail catcher or a database admin page for local development, with ports, volumes and passwords taken from your own values.
Which one should I pick?
- A database to develop against
- Pick the Compose file for MySQL, PostgreSQL, MongoDB or Redis. Each keeps its data in a named volume, so stopping the container does not delete your data. Only docker compose down -v removes it.
- An admin page for the database
- The phpMyAdmin and pgAdmin pages add a browser interface next to the database, opened on its own port.
- Packaging your own app
- Use a Dockerfile page for Node or Python. It starts from a small base image, installs your dependencies and runs the app as a normal user instead of root.
- Running on a cluster
- The Kubernetes page writes a Deployment and a Service for an image you already have, with replicas, a port, resource limits and health checks.
All containers generators
- docker-compose for MongoDBRun a local MongoDB database with a password that keeps its data.
- docker-compose for PostgreSQLRun a local PostgreSQL database that keeps its data.
- docker-compose for MySQLRun a local MySQL database in Docker with your own user, password and port, and keep the data between restarts.
- docker-compose for RedisRun Redis in Docker with a password, saved data and a memory limit.
- docker-compose for WordPressRun WordPress and its database locally in Docker with one command and keep your site between restarts.
- Dockerfile for Node.jsA small, working Dockerfile for a Node.js app, with build step, non-root user and health check options.
- Dockerfile for PythonA working Dockerfile for a Python web app, with Gunicorn, Uvicorn or a plain script.
- Docker Compose for MailpitRun a fake mail server on your computer, so test emails from your app show up in a web page instead of being sent.
- Kubernetes Deployment and ServiceA Deployment and Service YAML for your container image, with replicas, port, resource limits and health checks.
- Docker Compose for MySQL and phpMyAdminRun MySQL and the phpMyAdmin web page on your computer with one docker compose command.
- Docker Compose for PostgreSQL and pgAdminRun PostgreSQL and the pgAdmin web page on your computer with one docker compose command.
Before you use any config
- The passwords in the example files are placeholders. Change every one before you start the containers, and never share a file that still has real ones.
- If a port is already in use, change the left number in ports (host:container). The fix pages for “port already allocated” show how to find what holds it.
- Containers see each other by service name, not localhost. Inside a container, localhost means that container.
The values you type stay in your browser. Nothing is sent to this site. Missing a file? Ask for it.