1 ========================
2 Custom Container Service
3 ========================
5 The orchestrator enables custom containers to be deployed using a YAML file.
6 A corresponding :ref:`orchestrator-cli-service-spec` must look like:
10 service_type: container
14 image: docker.io/library/foo:latest
15 entrypoint: /usr/bin/foo
32 - ['type=bind', 'source=lib/modules', 'destination=/lib/modules', 'ro=true']
41 where the properties of a service specification are:
44 A unique name of the service.
46 The name of the Docker image.
48 The UID to use when creating directories and files in the host system.
50 The GID to use when creating directories and files in the host system.
52 Overwrite the default ENTRYPOINT of the image.
54 A list of additional Podman/Docker command line arguments.
56 A list of TCP ports to open in the host firewall.
58 A list of environment variables.
60 When you use a bind mount, a file or directory on the host machine
61 is mounted into the container. Relative `source=...` paths will be
62 located below `/var/lib/ceph/<cluster-fsid>/<daemon-name>`.
64 When you use a volume mount, a new directory is created within
65 Docker’s storage directory on the host machine, and Docker manages
66 that directory’s contents. Relative source paths will be located below
67 `/var/lib/ceph/<cluster-fsid>/<daemon-name>`.
69 A list of directories that are created below
70 `/var/lib/ceph/<cluster-fsid>/<daemon-name>`.
72 A dictionary, where the key is the relative path of the file and the
73 value the file content. The content must be double quoted when using
74 a string. Use '\\n' for line breaks in that case. Otherwise define
75 multi-line content as list of strings. The given files will be created
76 below the directory `/var/lib/ceph/<cluster-fsid>/<daemon-name>`.
77 The absolute path of the directory where the file will be created must
78 exist. Use the `dirs` property to create them if necessary.