Skip to main content

docker-autocompose

Generates a docker-compose yaml definition from a docker container.

Required Modules:

For building this project poetry is required. Install it with the package manager of your OS or if that's impossible with pip.

Install them:

poetry install

Example Usage:

poetry run autocompose <container ids>

Generate a compose file for multiple containers together:

poetry run autocompose apache-test mysql-test

The script defaults to outputting to compose file version 3, but use "-v 1" to output to version 1:

poetry run autocompose -v 1 apache-test

Outputs a docker-compose compatible yaml structure:

docker-compose reference

docker-compose yaml file specification

While experimenting with various docker containers from the Hub, I realized that I'd started several containers with complex options for volumes, ports, environment variables, etc. and there was no way I could remember all those commands without referencing the Hub page for each image if I needed to delete and re-create the container (for updates, or if something broke).

With this tool, I can easily generate docker-compose files for managing the containers that I've set up manually.

Native installation

System-wide installation is discouraged. If you really need to, you can run pip install --user --break-system-packages . (use at your own discretion).

There are unofficial packages available in the Arch User Repository:

AUR packages are provided by a third party and are not tested or updated by the maintainer(s) of the docker-autocompose project.

Docker Usage

You can use this tool from a docker container by either cloning this repo and building the image or using the automatically generated image on GitHub

Pull the image from GitHub (supports both x86 and ARM)

docker pull ghcr.io/red5d/docker-autocompose:latest

Use the new image to generate a docker-compose file from a running container or a list of space-separated container names or ids:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose <container-name-or-id> <additional-names-or-ids>...

To print out all containers in a docker-compose format:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose $(docker ps -aq)

Contributing

When making changes, please validate the output from the script by writing it to a file (docker-compose.yml or docker-compose.yaml) and running "docker-compose config" in the same folder with it to ensure that the resulting compose file will be accepted by docker-compose.

Metadata

Release files for docker-autocompose 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for docker-autocompose 1.3.0
File Interpreter ABI Platform
docker_autocompose-1.3.0-py3-none-any.whl Python 3 none any Details

Release files / docker_autocompose-1.3.0-py3-none-any.whl

Download URL docker_autocompose-1.3.0-py3-none-any.whl
Size 6.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
61b8daca6646f53235f2395dfc03361ee82afcfb7a24ba47e288880492f924a3
BLAKE2b-256 checksum
How to use checksums
e4377eca3c2e7d914a5b1ebde815928c5de4d41a3bfa05e1b3d1ace524270c11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

1.3.0 This release

1 release file

1.0.1

1 release file

1.0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page