Docker images that provide pre-installed ConcreteCMS (or concrete5) instances without the hassle of configuring them.
You can use this wizard to build the command line you can use to run docker5 Docker images.
Here's the list of the available docker images:
| Version | Aliases | Starting Point | Default PHP Version | Images |
|---|---|---|---|---|
| 9.5.5 | latest 9 9.5 |
atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.5.5ghcr.io/concrete5-community/docker5:latestghcr.io/concrete5-community/docker5:9ghcr.io/concrete5-community/docker5:9.5 |
| 9.5.5-full | latest-full 9-full 9.5-full |
atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.5.5-fullghcr.io/concrete5-community/docker5:latest-fullghcr.io/concrete5-community/docker5:9-fullghcr.io/concrete5-community/docker5:9.5-full |
| 9.5.4 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.5.4 |
|
| 9.5.4-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.5.4-full |
|
| 9.5.3 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.5.3 |
|
| 9.5.3-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.5.3-full |
|
| 9.5.2 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.5.2 |
|
| 9.5.2-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.5.2-full |
|
| 9.5.1 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.5.1 |
|
| 9.5.1-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.5.1-full |
|
| 9.5.0 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.5.0 |
|
| 9.5.0-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.5.0-full |
|
| 9.4.8 | 9.4 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.4.8ghcr.io/concrete5-community/docker5:9.4 |
| 9.4.8-full | 9.4-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.4.8-fullghcr.io/concrete5-community/docker5:9.4-full |
| 9.4.7 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.4.7 |
|
| 9.4.7-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.4.7-full |
|
| 9.4.6 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.4.6 |
|
| 9.4.6-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.4.6-full |
|
| 9.4.5 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.4.5 |
|
| 9.4.5-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.4.5-full |
|
| 9.4.4 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.4.4 |
|
| 9.4.4-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.4.4-full |
|
| 9.4.3 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.4.3 |
|
| 9.4.3-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.4.3-full |
|
| 9.4.2 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.4.2 |
|
| 9.4.2-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.4.2-full |
|
| 9.4.1 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.4.1 |
|
| 9.4.1-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.4.1-full |
|
| 9.4.0 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.4.0 |
|
| 9.4.0-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.4.0-full |
|
| 9.3.9 | 9.3 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.3.9ghcr.io/concrete5-community/docker5:9.3 |
| 9.3.9-full | 9.3-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.3.9-fullghcr.io/concrete5-community/docker5:9.3-full |
| 9.3.8 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.3.8 |
|
| 9.3.8-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.3.8-full |
|
| 9.3.7 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.3.7 |
|
| 9.3.7-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.3.7-full |
|
| 9.3.6 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.3.6 |
|
| 9.3.6-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.3.6-full |
|
| 9.3.5 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.3.5 |
|
| 9.3.5-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.3.5-full |
|
| 9.3.4 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.3.4 |
|
| 9.3.4-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.3.4-full |
|
| 9.3.3 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.3.3 |
|
| 9.3.3-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.3.3-full |
|
| 9.3.2 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.3.2 |
|
| 9.3.2-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.3.2-full |
|
| 9.2.9 | 9.2 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.2.9ghcr.io/concrete5-community/docker5:9.2 |
| 9.2.9-full | 9.2-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.2.9-fullghcr.io/concrete5-community/docker5:9.2-full |
| 9.2.8 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.2.8 |
|
| 9.2.8-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.2.8-full |
|
| 9.2.7 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.2.7 |
|
| 9.2.7-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.2.7-full |
|
| 9.2.6 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.2.6 |
|
| 9.2.6-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.2.6-full |
|
| 9.2.5 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.2.5 |
|
| 9.2.5-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.2.5-full |
|
| 9.2.4 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.2.4 |
|
| 9.2.4-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.2.4-full |
|
| 9.2.3 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.2.3 |
|
| 9.2.3-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.2.3-full |
|
| 9.2.2 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.2.2 |
|
| 9.2.2-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.2.2-full |
|
| 9.2.1 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.2.1 |
|
| 9.2.1-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.2.1-full |
|
| 9.2.0 | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.2.0 |
|
| 9.2.0-full | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.2.0-full |
|
| 9.1.3 | 9.1 | elemental_blank | 8.1 | ghcr.io/concrete5-community/docker5:9.1.3ghcr.io/concrete5-community/docker5:9.1 |
| 9.1.3-full | 9.1-full | atomik_full | 8.1 | ghcr.io/concrete5-community/docker5:9.1.3-fullghcr.io/concrete5-community/docker5:9.1-full |
| 9.1.2 | elemental_blank | 8.1 | ghcr.io/concrete5-community/docker5:9.1.2 |
|
| 9.1.2-full | atomik_full | 8.1 | ghcr.io/concrete5-community/docker5:9.1.2-full |
|
| 9.1.1 | elemental_blank | 8.1 | ghcr.io/concrete5-community/docker5:9.1.1 |
|
| 9.1.1-full | atomik_full | 8.1 | ghcr.io/concrete5-community/docker5:9.1.1-full |
|
| 9.1.0 | elemental_blank | 8.1 | ghcr.io/concrete5-community/docker5:9.1.0 |
|
| 9.1.0-full | atomik_full | 8.1 | ghcr.io/concrete5-community/docker5:9.1.0-full |
|
| 9.0.2 | 9.0 | elemental_blank | 8.1 | ghcr.io/concrete5-community/docker5:9.0.2ghcr.io/concrete5-community/docker5:9.0 |
| 9.0.2-full | 9.0-full | atomik_full | 8.1 | ghcr.io/concrete5-community/docker5:9.0.2-fullghcr.io/concrete5-community/docker5:9.0-full |
| 9.0.1 | elemental_blank | 8.1 | ghcr.io/concrete5-community/docker5:9.0.1 |
|
| 9.0.1-full | atomik_full | 8.1 | ghcr.io/concrete5-community/docker5:9.0.1-full |
|
| 8.5.21 | 8 8.5 |
elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.21ghcr.io/concrete5-community/docker5:8ghcr.io/concrete5-community/docker5:8.5 |
| 8.5.21-full | 8-full 8.5-full |
elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.21-fullghcr.io/concrete5-community/docker5:8-fullghcr.io/concrete5-community/docker5:8.5-full |
| 8.5.20 | elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.20 |
|
| 8.5.20-full | elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.20-full |
|
| 8.5.19 | elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.19 |
|
| 8.5.19-full | elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.19-full |
|
| 8.5.18 | elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.18 |
|
| 8.5.18-full | elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.18-full |
|
| 8.5.17 | elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.17 |
|
| 8.5.17-full | elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.17-full |
|
| 8.5.16 | elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.16 |
|
| 8.5.16-full | elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.16-full |
|
| 8.5.15 | elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.15 |
|
| 8.5.15-full | elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.15-full |
|
| 8.5.14 | elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.14 |
|
| 8.5.14-full | elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.14-full |
|
| 8.5.13 | elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.13 |
|
| 8.5.13-full | elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.13-full |
|
| 8.5.12 | elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.12 |
|
| 8.5.12-full | elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.12-full |
|
| 8.5.7 | elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.7 |
|
| 8.5.7-full | elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.7-full |
|
| 8.5.6 | elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.6 |
|
| 8.5.6-full | elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.6-full |
|
| 8.5.5 | elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.5 |
|
| 8.5.5-full | elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.5-full |
|
| 8.5.4 | elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.4 |
|
| 8.5.4-full | elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.4-full |
|
| 8.5.2 | elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.2 |
|
| 8.5.2-full | elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.2-full |
|
| 5.7.5.13 | 5.7 5.7.5 |
elemental_blank | 5.6 | ghcr.io/concrete5-community/docker5:5.7.5.13ghcr.io/concrete5-community/docker5:5.7ghcr.io/concrete5-community/docker5:5.7.5 |
| 5.7.5.13-full | 5.7-full 5.7.5-full |
elemental_full | 5.6 | ghcr.io/concrete5-community/docker5:5.7.5.13-fullghcr.io/concrete5-community/docker5:5.7-fullghcr.io/concrete5-community/docker5:5.7.5-full |
You can also try the latest development versions, built directly from the official git repository.
| Branch | Starting Point | Default PHP Version | Image |
|---|---|---|---|
| 9.5.x | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.5.x |
| 9.5.x | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.5.x-full |
| 9.4.x | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.4.x |
| 9.4.x | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.4.x-full |
| 9.3.x | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.3.x |
| 9.3.x | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.3.x-full |
| 9.2.x | atomik_blank | 8.2 | ghcr.io/concrete5-community/docker5:9.2.x |
| 9.2.x | atomik_full | 8.2 | ghcr.io/concrete5-community/docker5:9.2.x-full |
| 8.5.x | elemental_blank | 7.4 | ghcr.io/concrete5-community/docker5:8.5.x |
| 8.5.x | elemental_full | 7.4 | ghcr.io/concrete5-community/docker5:8.5.x-full |
Pre-compiled images: https://github.com/concrete5-community/docker5/pkgs/container/docker5
Source repository: https://github.com/concrete5-community/docker5
- Password of the
adminuser:12345 - Name of the ConcreteCMS database:
c5 - Database user name:
c5 - Database user password:
12345 - Exposed port for the website:
80 - Exposed port for the database:
3306 - Exposed port for the webmail:
8025
docker5 images come with some service CLI commands.
You can get a list of them by running the ccm-help CLI command.
You can install additional components with the ccm-install CLI command.
You can install composerpkg with:
ccm-install composerpkgYou can install Blocks Cloner in a concrete5/ConcreteCMS version 8.5.4 or later come with:
ccm-install blocks_clonerYou can install concrete-cif with:
ccm-install concrete-cifYou can install PHP CS Fixer with:
ccm-install php-cs-fixerEvery docker image contains multiple PHP versions: 5.6, 7.4, 8.1, 8.2, 8.3, 8.4 and 8.5.
When using the default entry point you can override the default one by specifying the CCM_PHP_VERSION environment variable, like this:
docker run --rm -e "CCM_PHP_VERSION=7.4" ghcr.io/concrete5-community/docker5:8.5.4-fullFrom within the container you can use the switch-php command:
switch-php 7.4Every docker image contains composer v1, composer v2 and v2.2.
When using the default entry point you can override the default one by specifying the CCM_COMPOSER_VERSION environment variable, like this:
docker run --rm -e "CCM_COMPOSER_VERSION=2.2" ghcr.io/concrete5-community/docker5:9.0.2-fullFrom within the container you can use the switch-composer command:
switch-composer 2.2Every docker image contains many PHPUnit versions.
When using the default entry point you can override the default one by specifying the CCM_PHPUNIT_VERSION environment variable, like this:
docker run --rm -e "CCM_PHPUNIT_VERSION=10" ghcr.io/concrete5-community/docker5:9.0.2-fullFrom within the container you can use the switch-phpunit command:
switch-phpunit 10The default entry point will start the database and web services at startup, and stop them at shutdown.
You can also control them by using the ccm-service command to start/stop/restart these services, as well as to determine if they are running.
# Start all the services
ccm-service start
# Stop all the services
ccm-service stop
# Restart only the database service
ccm-service restart db
# Check if the PHP-FPM service and the Nginx services are running
ccm-service status php-fpm nginxdocker5 images are published for both linux/amd64 and linux/arm64.
The image tags listed above point to multi-platform manifests, so Docker automatically pulls the native image for your machine (for example on Windows on ARM / Snapdragon, Apple Silicon, or ARM Linux servers): you don't need to specify any --platform option.
Native ARM64 images are strongly recommended on ARM machines: running the linux/amd64 images under QEMU emulation is unreliable (for example PHP-FPM may hang, resulting in 502 Bad Gateway errors).
So, avoid forcing --platform linux/amd64 on ARM hosts.
If you really need a specific architecture, the full version tags (like 9.5.5 and 9.5.5-full) also exist with an -amd64 or -arm64 suffix (for example 9.5.5-full-arm64).
Please note that the ARM64 images use Mailpit instead of MailHog (which doesn't provide ARM64 binaries): it listens on the same ports (25 for SMTP, 8025 for the webmail).
If you build the images yourself on Windows, make sure that the shell scripts have LF line endings (this repository enforces that via its .gitattributes file): scripts with CRLF line endings fail with errors like /bin/sh: 1: /build: not found.
This repository contains a copuple of scheduled GitHub Actions. If you want to be notified about problems, you can subscribe to this Telegram channel.