mirror of
https://github.com/containers/podman.git
synced 2025-05-22 01:27:07 +08:00
Update podman image Dockerfile to support Podman in container
[NO TEST NEEDED] Can not test this in CI/CD system since it needs to be merged in order for the Dockerfiles to even work. Modified the /etc/subuid and /etc/subgid to be able to run in rootless containers. The Range can not be the same as on the host. Add /home/podman/.config/containers/containers.conf to automatically mount /proc on /proc while inside of the container. This prevents additional permissions being required that are blocked when not in --privileged mode. Setup volumes for /var/lib/containers and /home/podman/.local/share/containwers This will prevent the errors where people are doing overlay on overlay. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
@ -11,9 +11,21 @@ FROM registry.fedoraproject.org/fedora:latest
|
|||||||
# Don't include container-selinux and remove
|
# Don't include container-selinux and remove
|
||||||
# directories used by yum that are just taking
|
# directories used by yum that are just taking
|
||||||
# up space.
|
# up space.
|
||||||
RUN useradd podman; yum -y update; yum -y reinstall shadow-utils; yum -y install podman fuse-overlayfs --exclude container-selinux; rm -rf /var/cache /var/log/dnf* /var/log/yum.*
|
RUN dnf -y update; yum -y reinstall shadow-utils; \
|
||||||
|
yum -y install podman fuse-overlayfs --exclude container-selinux; \
|
||||||
|
rm -rf /var/cache /var/log/dnf* /var/log/yum.*
|
||||||
|
|
||||||
ADD https://raw.githubusercontent.com/containers/libpod/master/contrib/podmanimage/stable/containers.conf /etc/containers/
|
RUN useradd podman; \
|
||||||
|
echo podman:10000:5000 > /etc/subuid; \
|
||||||
|
echo podman:10000:5000 > /etc/subgid;
|
||||||
|
|
||||||
|
VOLUME /var/lib/containers
|
||||||
|
VOLUME /home/podman/.local/share/containers
|
||||||
|
|
||||||
|
ADD https://raw.githubusercontent.com/containers/libpod/master/contrib/podmanimage/stable/containers.conf /etc/containers/containers.conf
|
||||||
|
ADD https://raw.githubusercontent.com/containers/libpod/master/contrib/podmanimage/stable/podman-containers.conf /home/podman/.config/containers/containers.conf
|
||||||
|
|
||||||
|
RUN chown podman:podman -R /home/podman
|
||||||
|
|
||||||
# chmod containers.conf and adjust storage.conf to enable Fuse storage.
|
# chmod containers.conf and adjust storage.conf to enable Fuse storage.
|
||||||
RUN chmod 644 /etc/containers/containers.conf; sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' /etc/containers/storage.conf
|
RUN chmod 644 /etc/containers/containers.conf; sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' /etc/containers/storage.conf
|
||||||
|
4
contrib/podmanimage/stable/podman-containers.conf
Normal file
4
contrib/podmanimage/stable/podman-containers.conf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[containers]
|
||||||
|
volumes = [
|
||||||
|
"/proc:/proc",
|
||||||
|
]
|
@ -13,9 +13,19 @@ FROM registry.fedoraproject.org/fedora:latest
|
|||||||
# Don't include container-selinux and remove
|
# Don't include container-selinux and remove
|
||||||
# directories used by yum that are just taking
|
# directories used by yum that are just taking
|
||||||
# up space.
|
# up space.
|
||||||
RUN useradd podman; yum -y update; yum -y reinstall shadow-utils; yum -y install podman fuse-overlayfs --exclude container-selinux --enablerepo updates-testing; rm -rf /var/cache /var/log/dnf* /var/log/yum.*
|
RUN yum -y update; yum -y reinstall shadow-utils; yum -y install podman fuse-overlayfs --exclude container-selinux --enablerepo updates-testing; rm -rf /var/cache /var/log/dnf* /var/log/yum.*
|
||||||
|
|
||||||
ADD https://raw.githubusercontent.com/containers/libpod/master/contrib/podmanimage/stable/containers.conf /etc/containers/
|
RUN useradd podman; \
|
||||||
|
echo podman:10000:5000 > /etc/subuid; \
|
||||||
|
echo podman:10000:5000 > /etc/subgid;
|
||||||
|
|
||||||
|
VOLUME /var/lib/containers
|
||||||
|
VOLUME /home/podman/.local/share/containers
|
||||||
|
|
||||||
|
ADD https://raw.githubusercontent.com/containers/libpod/master/contrib/podmanimage/stable/containers.conf /etc/containers/containers.conf
|
||||||
|
ADD https://raw.githubusercontent.com/containers/libpod/master/contrib/podmanimage/stable/podman-containers.conf /home/podman/.config/containers/containers.conf
|
||||||
|
|
||||||
|
RUN chown podman:podman -R /home/podman
|
||||||
|
|
||||||
# chmod containers.conf and adjust storage.conf to enable Fuse storage.
|
# chmod containers.conf and adjust storage.conf to enable Fuse storage.
|
||||||
RUN chmod 644 /etc/containers/containers.conf; sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' /etc/containers/storage.conf
|
RUN chmod 644 /etc/containers/containers.conf; sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' /etc/containers/storage.conf
|
||||||
|
@ -17,7 +17,7 @@ ENV GOPATH=/root/podman
|
|||||||
# to the container.
|
# to the container.
|
||||||
# Finally remove the podman directory and a few other packages
|
# Finally remove the podman directory and a few other packages
|
||||||
# that are needed for building but not running Podman
|
# that are needed for building but not running Podman
|
||||||
RUN useradd podman; yum -y update; yum -y reinstall shadow-utils; yum -y install --exclude container-selinux \
|
RUN yum -y update; yum -y reinstall shadow-utils; yum -y install --exclude container-selinux \
|
||||||
--enablerepo=updates-testing \
|
--enablerepo=updates-testing \
|
||||||
btrfs-progs-devel \
|
btrfs-progs-devel \
|
||||||
containernetworking-cni \
|
containernetworking-cni \
|
||||||
@ -63,7 +63,17 @@ RUN useradd podman; yum -y update; yum -y reinstall shadow-utils; yum -y install
|
|||||||
yum -y remove git golang go-md2man make; \
|
yum -y remove git golang go-md2man make; \
|
||||||
yum clean all;
|
yum clean all;
|
||||||
|
|
||||||
ADD https://raw.githubusercontent.com/containers/libpod/master/contrib/podmanimage/stable/containers.conf /etc/containers/
|
RUN useradd podman; \
|
||||||
|
echo podman:10000:5000 > /etc/subuid; \
|
||||||
|
echo podman:10000:5000 > /etc/subgid;
|
||||||
|
|
||||||
|
VOLUME /var/lib/containers
|
||||||
|
VOLUME /home/podman/.local/share/containers
|
||||||
|
|
||||||
|
ADD https://raw.githubusercontent.com/containers/libpod/master/contrib/podmanimage/stable/containers.conf /etc/containers/containers.conf
|
||||||
|
ADD https://raw.githubusercontent.com/containers/libpod/master/contrib/podmanimage/stable/podman-containers.conf /home/podman/.config/containers/containers.conf
|
||||||
|
|
||||||
|
RUN chown podman:podman -R /home/podman
|
||||||
|
|
||||||
# chmod containers.conf and adjust storage.conf to enable Fuse storage.
|
# chmod containers.conf and adjust storage.conf to enable Fuse storage.
|
||||||
RUN chmod 644 /etc/containers/containers.conf; sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' /etc/containers/storage.conf
|
RUN chmod 644 /etc/containers/containers.conf; sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' /etc/containers/storage.conf
|
||||||
|
Reference in New Issue
Block a user