table of contents
- bookworm 5.28
- bookworm-backports 5.38~bpo12+1
- testing 5.39
- unstable 5.39
autopkgtest-build-docker(1) | General Commands Manual | 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 base image starts with localhost/, that prefix is removed, to reduce repetition when using podman. 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.
- --tarball=PATH | --tarball=-
- Import a pre-prepared root filesystem tarball as generated by debootstrap(1), mmdebstrap(1) or a similar tool, and use it as the root filesystem of the container before adding autopkgtest customizations.
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¶
A container image named autopkgtest/debian:sid, suitable for testing packages that target Debian unstable (sid), can be based on the images available from docker.io:
$ autopkgtest-build-docker --image debian:sid --post-command "apt-get update && apt-get install some-package"
or can be built locally from a minbase tarball generated by mmdebstrap(1):
$ mmdebstrap --variant=minbase sid - | autopkgtest-build-podman --release=sid --tarball=-
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.
2018 | Linux Programmer's Manual |