@@ -23,15 +23,44 @@ WORKDIR /go/src/sigs.k8s.io/gcp-compute-persistent-disk-csi-driver
23
23
ADD . .
24
24
RUN GOARCH=$(echo $TARGETPLATFORM | cut -f2 -d '/' ) GCE_PD_CSI_STAGING_VERSION=$STAGINGVERSION make gce-pd-driver
25
25
26
- # MAD HACKS: Build a version first so we can take the scsi_id bin and put it somewhere else in our real build
27
- FROM k8s.gcr.io/build-image/debian-base:buster-v1.9.0 as mad-hack
28
- RUN clean-install udev
29
-
30
- # Start from Kubernetes Debian base
31
- FROM k8s.gcr.io/build-image/debian-base:buster-v1.9.0
32
- COPY --from=builder /go/src/sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/bin/gce-pd-csi-driver /gce-pd-csi-driver
26
+ # Start from Kubernetes Debian base.
27
+ FROM k8s.gcr.io/build-image/debian-base:buster-v1.9.0 as debian
33
28
# Install necessary dependencies
34
29
RUN clean-install util-linux e2fsprogs mount ca-certificates udev xfsprogs
35
- COPY --from=mad-hack /lib/udev/scsi_id /lib/udev_containerized/scsi_id
30
+ # Since we're leveraging apt to pull in dependencies, we use `gcr.io/distroless/base` because it includes glibc.
31
+ FROM gcr.io/distroless/base-debian11
32
+ # Copy necessary dependencies into distroless base.
33
+ COPY --from=builder /go/src/sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/bin/gce-pd-csi-driver /gce-pd-csi-driver
34
+ COPY --from=debian /etc/mke2fs.conf /etc/mke2fs.conf
35
+ COPY --from=debian /lib/udev/scsi_id /lib/udev_containerized/scsi_id
36
+ COPY --from=debian /bin/mount /bin/mount
37
+ COPY --from=debian /bin/umount /bin/umount
38
+ COPY --from=debian /sbin/blkid /sbin/blkid
39
+ COPY --from=debian /sbin/blockdev /sbin/blockdev
40
+ COPY --from=debian /sbin/dumpe2fs /sbin/dumpe2fs
41
+ COPY --from=debian /sbin/e* /sbin/
42
+ COPY --from=debian /sbin/e2fsck /sbin/e2fsck
43
+ COPY --from=debian /sbin/fsck /sbin/fsck
44
+ COPY --from=debian /sbin/fsck* /sbin/
45
+ COPY --from=debian /sbin/fsck.xfs /sbin/fsck.xfs
46
+ COPY --from=debian /sbin/mke2fs /sbin/mke2fs
47
+ COPY --from=debian /sbin/mkfs* /sbin/
48
+ COPY --from=debian /sbin/resize2fs /sbin/resize2fs
49
+ COPY --from=debian /sbin/xfs_repair /sbin/xfs_repair
50
+ COPY --from=debian /usr/include/xfs /usr/include/xfs
51
+ COPY --from=debian /usr/lib/xfsprogs/xfs* /usr/lib/xfsprogs/
52
+ COPY --from=debian /usr/sbin/xfs* /usr/sbin/
53
+
54
+ # Copy x86 shared libraries into distroless base.
55
+ COPY --from=debian /lib/x86_64-linux-gnu/libblkid.so.1 /lib/x86_64-linux-gnu/libblkid.so.1
56
+ COPY --from=debian /lib/x86_64-linux-gnu/libcom_err.so.2 /lib/x86_64-linux-gnu/libcom_err.so.2
57
+ COPY --from=debian /lib/x86_64-linux-gnu/libext2fs.so.2 /lib/x86_64-linux-gnu/libext2fs.so.2
58
+ COPY --from=debian /lib/x86_64-linux-gnu/libe2p.so.2 /lib/x86_64-linux-gnu/libe2p.so.2
59
+ COPY --from=debian /lib/x86_64-linux-gnu/libmount.so.1 /lib/x86_64-linux-gnu/libmount.so.1
60
+ COPY --from=debian /lib/x86_64-linux-gnu/libpcre.so.3 /lib/x86_64-linux-gnu/libpcre.so.3
61
+ COPY --from=debian /lib/x86_64-linux-gnu/libreadline.so.5 /lib/x86_64-linux-gnu/libreadline.so.5
62
+ COPY --from=debian /lib/x86_64-linux-gnu/libselinux.so.1 /lib/x86_64-linux-gnu/libselinux.so.1
63
+ COPY --from=debian /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libtinfo.so.6
64
+ COPY --from=debian /lib/x86_64-linux-gnu/libuuid.so.1 /lib/x86_64-linux-gnu/libuuid.so.1
36
65
37
- ENTRYPOINT ["/gce-pd-csi-driver" ]
66
+ ENTRYPOINT ["/gce-pd-csi-driver" ]
0 commit comments