1*d03c82c2SDoug Rabson# This is an example showing how to extend the freebsd-minimal OCI image by 2*d03c82c2SDoug Rabson# installing additional packages while keeping the resulting image as small as 3*d03c82c2SDoug Rabson# possible. 4*d03c82c2SDoug Rabson 5*d03c82c2SDoug Rabson# The OS version matching the desired freebsd-minimal image 6*d03c82c2SDoug RabsonARG version=15.0-CURRENT-amd64 7*d03c82c2SDoug Rabson 8*d03c82c2SDoug Rabson# Select freebsd-minimal as our starting point. 9*d03c82c2SDoug RabsonFROM localhost/freebsd-minimal:${version} 10*d03c82c2SDoug Rabson 11*d03c82c2SDoug Rabson# A list of package(s) to install 12*d03c82c2SDoug RabsonARG packages 13*d03c82c2SDoug Rabson 14*d03c82c2SDoug Rabson# Install package management tools. We specify 'FreeBSD' as the repository to 15*d03c82c2SDoug Rabson# use for downloading pkg since the freebsd-minimal image has both FreeBSD and 16*d03c82c2SDoug Rabson# FreeBSD-base pkg repo configs installed and FreeBSD-base does not contain the 17*d03c82c2SDoug Rabson# pkg package. 18*d03c82c2SDoug RabsonRUN env ASSUME_ALWAYS_YES=yes pkg bootstrap -r FreeBSD && pkg update 19*d03c82c2SDoug Rabson 20*d03c82c2SDoug Rabson# Install some package(s). 21*d03c82c2SDoug RabsonRUN pkg install -y ${packages} 22*d03c82c2SDoug Rabson 23*d03c82c2SDoug Rabson# Clean up and remove package management overhead. We delete downloaded 24*d03c82c2SDoug Rabson# packages, uninstall pkg and delete the repository metadata downloaded by 'pkg 25*d03c82c2SDoug Rabson# install'. This retains the record of which packages are installed in the 26*d03c82c2SDoug Rabson# image. 27*d03c82c2SDoug RabsonRUN pkg clean -ay && pkg delete -fy pkg && rm -rf /var/db/pkg/repos 28