Configs

class aiodocker.configs.DockerConfigs(docker)[source]
async create(name: str, data: str, *, b64: bool = False, labels: Mapping[str, str] | None = None, templating: Mapping | None = None) Mapping[str, Any][source]

Create a config

Parameters:
  • name – name of the config

  • labels – user-defined key/value metadata

  • data – config data

  • b64 – True if data is already Base64-url-safe-encoded

  • templating – Driver represents a driver (network, logging, secrets).

Returns:

a dict with info of the created config

async delete(config_id: str) bool[source]

Remove a config

Parameters:

config_id – ID or name of the config

Returns:

True if successful

async inspect(config_id: str) Mapping[str, Any][source]

Inspect a config

Parameters:

config_id – ID of the config

Returns:

a dict with info about a config

async list(*, filters: Mapping[str, str | Sequence[str]] | None = None) list[Mapping][source]

Return a list of configs

Parameters:

filters – a dict with a list of filters

Available filters:

id=<config id> label=<key> or label=<key>=value name=<config name> names=<config name>

async update(config_id: str, version: str, *, name: str | None = None, data: str | None = None, b64: bool = False, labels: Mapping[str, str] | None = None, templating: Mapping | None = None) bool[source]

Update a config.

Parameters:
  • config_id – ID of the config.

  • name – name of the config

  • labels – user-defined key/value metadata

  • data – config data

  • b64 – True if data is already Base64-url-safe-encoded

  • templating – Driver represents a driver (network, logging, secrets).

Returns:

True if successful.

Example

Create a config

import asyncio
import aiodocker

async def create_config(docker):
    config = await docker.configs.create(
        name="my_config",
        data="This is my config data",
    )
    return config

async def create_service(docker, task_template):
    service = await docker.services.create(
        task_template=task_template,
        name="my_service",
    )
    return service

async def main():
    docker = aiodocker.Docker()
    my_config = await create_config(docker)
    task_template = {
        "ContainerSpec": {
            "Image": "redis",
            "Configs": [
                {
                    "File": {
                        "Name": my_config["Spec"]["Name"],
                        "UID": "0",
                        "GID": "0",
                        "Mode": 292
                    },
                    "ConfigID": my_config["ID"],
                    "ConfigName": my_config["Spec"]["Name"],
                },
            ],
        },
    }
    service = await create_service(docker, task_template)
    print(service)
    await docker.close()

if __name__ == "__main__":
    asyncio.run(main())