Container Parameters

setup

List of steps that is executed to build container. See Build Steps for more info.

environ-file

The file with environment definitions. Path inside the container. The file consists of line per value, where key and value delimited by equals = sign. (Its similar to /etc/environment in ubuntu or EnvironmentFile in systemd, but doesn’t support commands quoting and line wrapping yet)

environ

The mapping, that constitutes environment variables set in container. This overrides environ-file on value by value basis.

uids

List of ranges of user ids that need to be mapped when container runs. User must have some ranges in /etc/subuid to run this contiainer, and total size of all allowed ranges must be larger or equal to the sum of sizes of all ranges specified in uids parameter. Currenlty vagga applies ranges found in /etc/subuid one by one until all ranges are satisfied. It’s not always optimal or desirable, we will allow to customize mapping in later versions.

Default value is [0-65535] which is usually good enough. Unless you have smaller number of uids available or run container in container.

gids

List of ranges of group ids that need to be mapped when container runs. User must have some ranges in /etc/subgid to run this contiainer, and total size of all allowed ranges must be larger or equal to the sum of sizes of all ranges specified in gids parameter. Currenlty vagga applies ranges found in /etc/subgid one by one until all ranges are satisfied. It’s not always optimal or desirable, we will allow to customize mapping in later versions.

Default value is [0-65535] which is usually good enough. Unless you have smaller number of gids available or run container in container.

volumes

The mapping of mount points to the definition of volume. Allows to mount some additional filesystems inside the container. See Volumes for more info. Default is:

volumes:
    /tmp: !Tmpfs { size: 100Mi, mode: 0o1777 }

Note

You must create a folder for each volume. See Build Steps for documentation.

resolv-conf-path

The path in container where to copy resolv.conf from host. If the value is null, no file is copied. Default is /etc/resolv.conf. Its useful if you symlink /etc/resolv.conf to some tmpfs directory in setup and point resolv-conf-path to the directory.

Note

The default behavior for vagga is to overwrite /etc/resolv.conf inside the container at the start. It’s violation of read-only nature of container images (and visible for all containers). But as we are doing only single-machine development environments, it’s bearable. We are seeking for a better way without too much hassle for the user. But you can use the symlink if it bothers you.

hosts-file-path

The path in container where to copy /ets/hosts from host. If the value is null, no file is copied. Default is /etc/hosts. The setting intention is very similar to resolv-conf-path, so same condiderations applied.

auto-clean

(experimental) Do not leave multiple versions of container lying around. Removes old container version after new is successfully build. This is mostly useful for containers which depend on binaries locally built (i.e. the ones that are never reproduced in future because of timestamp). For most containers it’s a bad idea because it doesn’t allow to switch between branches using source-control quickly. Better use vagga _clean --old if possible.