The docker-compose Update Module is included in Mender Client 6.0 or newer. You can find the source code in the mender-container-modules repository.
The docker-compose Update Module will be available in Yocto Project LTS releases supported by meta-mender, starting with scarthgap.
mender-docker-compose into the Yocto environmentAdd the meta-mender-extended layer to your Yocto environment:
bitbake-layers add-layer ../sources/meta-mender/meta-mender-extended
You'll also need to add layers required for Docker support:
# Add required layers for Docker support
bitbake-layers add-layer ../sources/poky/meta-virtualization
bitbake-layers add-layer ../sources/meta-openembedded/meta-networking
bitbake-layers add-layer ../sources/meta-openembedded/meta-filesystems
Add the following to your local.conf to include mender-docker-compose in your build:
cat <<EOF >> conf/local.conf
# docker-compose Update Module
IMAGE_INSTALL:append = " mender-docker-compose"
DISTRO_FEATURES:append = " virtualization"
EOF
By default, Docker will store the container images in /var/lib/docker.
In order for container images to persist over rootfs updates, it's
necessary to configure Docker to use persistent storage. meta-mender provides
a variable, MENDER_DOCKER_DATA_ROOT, which will set the Docker data-root in the
/etc/docker/daemon.json config:
cat <<EOF >> conf/local.conf
MENDER_DOCKER_DATA_ROOT = "/data/docker"
EOF
Since we're now storing container images in the /data partition, it
might be necessary to increase the storage sizes to ensure we don't run
out of space during a docker-compose deployment, e.g.:
cat <<EOF >> conf/local.conf
MENDER_DATA_PART_SIZE_MB = "1024"
MENDER_STORAGE_TOTAL_SIZE_MB = "4096"
EOF
For information on how to create docker-compose Artifacts, see Create a docker-compose update Artifact.
© 2025 Northern.tech AS