autopkgtest-build-docker(1)

NAME
autopkgtest-build-docker, autopkgtest-build-podman - Create or update autopkgtest image for autopkgtest-virt-docker, autopkgtest-virt-podman

SYNOPSIS
autopkgtest-build-docker [options] autopkgtest-build-podman [options]

DESCRIPTION
autopkgtest-build-docker creates or updates a Docker or Podman image which is suitable for autopkgtest's Docker/Podman runner autopkgtest-virt-docker(1) or autopkgtest-virt-podman(1). When run as autopkgtest-virt-podman or with the --podman option (recommended), Podman is used for building images. This can be done unprivileged. When run as autopkgtest-virt-docker or with the --docker option, Docker is used. This requires root-equivalent privileges on the host system. Using Podman instead of Docker is recommended. The images produced by this tool are intended to be suitable for use with either Podman or Docker. The image used for testing is built using docker-build(1) or podman-build(1) from a base image, by default debian:unstable. deb-src apt sources, runs apt-get update and installs build dependencies. You can specify an apt proxy to use in the container in the --apt-proxy parameter. If you have an apt proxy configured on the host, the container will automatically use this, otherwise there is no default.

OPTIONS

-i image-name | --image=image-name
    Container image to use as base image. The default is derived from the --vendor and --release by assuming that image names follow the same pattern as the semi-official Debian Docker images (debian:RELEASE) and the official Ubuntu Docker images (ubuntu:RELEASE).

--vendor debian|ubuntu|...
    Operating system vendor to use. The default is to guess from the --release if specified, or from the --mirror if specified, or use the --image as-is if specified, falling back to Debian if no image is specified.

-r release-name | --release=release-name
    Operating system release (suite) to use. The default is to guess from the --image if specified, or use unstable for Debian, or use whatever image is tagged as latest for other vendors.

-t name  | --tag=name
    Image name to tag the new image. The default is to prepend autopkgtest/ to the name of the base image, resulting in an image name like autopkgtest/debian:unstable. If the --init option is used, the init system is also added, resulting in an image name like autopkgtest/systemd/debian:unstable. When using Podman, if no destination registry is specified, local storage will be assumed, resulting in a name like localhost/autopkgtest/debian:unstable.

--init=systemd|sysv-rc|openrc
    Add the specified init system to the container image, so that it can be booted as a full-system container using a command like podman run IMAGE /sbin/init or autopkgtest-virt-podman --init IMAGE. By default, whatever init system is in the base image is kept, usually meaning no init system at all (so the container can be used to run individual shell commands, but cannot be booted like a full system and will not provide the isolation-container autopkgtest capability).

-m URL | --mirror=URL
    Mirror for apt. The default is http://deb.debian.org/debian/ for Debian, or http://archive.ubuntu.com/ubuntu/ for Ubuntu, or whatever mirror is configured in the base image otherwise.

-p URL | --apt-proxy=URL
    Proxy for apt. If you have an apt proxy configured on the local host, the image will automatically use this; otherwise there is no default.

--post-command=COMMAND
    Run shell command in the image after the setup.

ENVIRONMENT
If the $AUTOPKGTEST_KEEP_APT_SOURCES environment variable is set to a non-empty value, autopkgtest-build-docker will keep whatever /etc/apt/sources.list was inherited from the base image. Otherwise, if the $AUTOPKGTEST_APT_SOURCES_FILE environment variable is set to a non-empty value, for example AUTOPKGTEST_APT_SOURCES_FILE=/home/me/mydistro/sources.list, then autopkgtest-build-docker will read that file (on the host system) and use it to populate /etc/apt/sources.list in the virtual machine; or if the $AUTOPKGTEST_APT_SOURCES environment variable is set to a non-empty value, for example AUTOPKGTEST_APT_SOURCES=$(cat /home/me/mydistro/sources.list), autopkgtest-build-docker will write it directly into /etc/apt/sources.list in the resulting container image. When $AUTOPKGTEST_APT_SOURCES_FILE or $AUTOPKGTEST_APT_SOURCES contain sources in the deb822 format, then sources are written to /etc/apt/sources.list.d/<distro>.sources in the container, rather than /etc/apt/sources.list. You can specify an apt proxy to configure in the container image in the $AUTOPKGTEST_APT_PROXY environment variable. If you have an apt proxy configured on the host, the container will automatically use this, otherwise there is no default.

EXAMPLES

$ autopkgtest-build-docker --image debian:sid --post-command "apt-get update && apt-get install some-package"

SEE ALSO
autopkgtest-virt-docker(1), autopkgtest(1), /usr/share/doc/autopkgtest/.

AUTHORS AND COPYRIGHT
autopkgtest-build-docker was written by Iñaki Malerba <inaki@malerba.space> This manpage is part of autopkgtest, a tool for testing Debian binary packages. autopkgtest is Copyright (C) 2006-2014 Canonical Ltd and others. See /usr/share/doc/autopkgtest/CREDITS for the list of contributors and full copying conditions.