Create certificates for localhost:
# Create a directory for certificates
mkdir ./certs && cd ./certs
# Generate certificate for localhost
docker run --rm -v $(pwd):/certs -w /certs heyfworld/mkcert:latest localhost 127.0.0.1 ::1
Create a docker-compose.yml file:
version: '3.8'
services:
mkcert:
image: heyfworld/mkcert:latest
volumes:
- ./certs:/certs
working_dir: /certs
profiles: ["tools"] # Only run when explicitly called
Generate certificates:
# Generate certificates for localhost
docker-compose --profile tools run --rm mkcert localhost 127.0.0.1 api.local
# Generate wildcard certificates
docker-compose --profile tools run --rm mkcert "*.local" "*.dev.local"
# Install CA (requires host access)
docker-compose --profile tools run --rm -v ~/.local/share/mkcert:/root/.local/share/mkcert mkcert -install
Perfect for development environments requiring HTTPS:
# Generate certificate for your local app
docker run --rm -v $(pwd)/certs:/certs -w /certs \
heyfworld/mkcert:latest myapp.local localhost 127.0.0.1
# Files created: myapp.local+2.pem and myapp.local+2-key.pem
Generate certificates for multiple domains at once:
docker run --rm -v $(pwd)/certs:/certs -w /certs \
heyfworld/mkcert:latest \
example.local \
api.example.local \
"*.example.local" \
localhost \
127.0.0.1
version: '3.8'
services:
mkcert:
image: heyfworld/mkcert:latest
volumes:
- ./certs:/certs
- mkcert_ca:/root/.local/share/mkcert
working_dir: /certs
environment:
- CAROOT=/root/.local/share/mkcert
profiles: ["tools"]
volumes:
mkcert_ca:
driver: local
| Variable | Default | Description |
|---|---|---|
CAROOT | /root/.local/share/mkcert | CA storage location |
TRUST_STORES | system,nss,java | Comma-separated list of trust stores to use |
NODE_EXTRA_CA_CERTS | - | Node.js CA certificates file path |
# Show help
docker run --rm heyfworld/mkcert:latest --help
# Install CA to system trust store (requires host access)
docker run --rm -v ~/.local/share/mkcert:/root/.local/share/mkcert \
heyfworld/mkcert:latest -install
# Show CA location
docker run --rm heyfworld/mkcert:latest -CAROOT
# Uninstall CA
docker run --rm -v ~/.local/share/mkcert:/root/.local/share/mkcert \
heyfworld/mkcert:latest -uninstall
# Custom output file names
docker run --rm -v $(pwd)/certs:/certs -w /certs \
heyfworld/mkcert:latest -key-file custom-key.pem -cert-file custom-cert.pem example.com
# Generate client authentication certificate
docker run --rm -v $(pwd)/certs:/certs -w /certs \
heyfworld/mkcert:latest -client example.com
# Generate ECDSA certificate
docker run --rm -v $(pwd)/certs:/certs -w /certs \
heyfworld/mkcert:latest -ecdsa example.com
# Generate PKCS#12 (.p12/.pfx) file for legacy applications
docker run --rm -v $(pwd)/certs:/certs -w /certs \
heyfworld/mkcert:latest -pkcs12 example.com
# Generate certificate from CSR
docker run --rm -v $(pwd)/certs:/certs -w /certs \
heyfworld/mkcert:latest -csr request.csr
Generate S/MIME certificates for email addresses:
# Automatic S/MIME certificate generation
docker run --rm -v $(pwd)/certs:/certs -w /certs \
heyfworld/mkcert:latest [email protected]
Content type
Image
Digest
sha256:bc292e26a…
Size
10.2 MB
Last updated
12 months ago
docker pull heyfworld/mkcert