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())