You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 24, 2020. It is now read-only.
I'd like to be able to bind mount host directories into the ACI before performing acbuild run commands. If I need large files inside the ACI at build time, but not at runtime, I can put those files on the host, then bind mount them into the ACI for acbuild run.
Concrete example: I have a large binary installer (eg for a video game), in the neighborhood of 60GB. If I want to build an ACI for this program, I need to expose the installer to acbuild somehow. But I don't want to acbuild copy the installer into the build context, because 1) that's excruciatingly slow, 2) requires a ton of temporary space on my disk, and 3) I would have to remove it right afterwards to avoid bloating the container. It would be much more convenient to have the binary in a directory on the host, and bind mount that directory into the container for the duration of the single acbuild run command that actually executes the binary.
Another concrete example: I'm running a build process that invokes pacman -Syu, which downloads a bunch of tarballs and puts them in a cache directory. If I have bind mounts, I can bind mount the host's pacman cache into the container before running pacman, and it'll reuse any cached packages that my host already has. This would save bandwidth and download time if I'm rebuilding the container over and over again in an edit-rebuild-run cycle.
Bind mounts look like the obvious solution to me, but I'm open to any other approaches. If it means avoiding a 60GB copy, I'm totally fine with a nasty hack that I can use without waiting for a new feature.
The text was updated successfully, but these errors were encountered:
This would definitely be a useful feature. Unfortunately I don't have much time for acbuild at the moment, but I'll leave this issue open for when I can find time in the future.
You're obviously also welcome to contribute it, if you have the time.
For a short term workaround that has no guarantees of being compatible with future releases, you can also bind mount directories into the in-progress image being built at .acbuild/current/rootfs (for appc mode at least).
I'd like to be able to bind mount host directories into the ACI before performing
acbuild run
commands. If I need large files inside the ACI at build time, but not at runtime, I can put those files on the host, then bind mount them into the ACI foracbuild run
.Concrete example: I have a large binary installer (eg for a video game), in the neighborhood of 60GB. If I want to build an ACI for this program, I need to expose the installer to acbuild somehow. But I don't want to
acbuild copy
the installer into the build context, because 1) that's excruciatingly slow, 2) requires a ton of temporary space on my disk, and 3) I would have to remove it right afterwards to avoid bloating the container. It would be much more convenient to have the binary in a directory on the host, and bind mount that directory into the container for the duration of the singleacbuild run
command that actually executes the binary.Another concrete example: I'm running a build process that invokes
pacman -Syu
, which downloads a bunch of tarballs and puts them in a cache directory. If I have bind mounts, I can bind mount the host's pacman cache into the container before running pacman, and it'll reuse any cached packages that my host already has. This would save bandwidth and download time if I'm rebuilding the container over and over again in an edit-rebuild-run cycle.Bind mounts look like the obvious solution to me, but I'm open to any other approaches. If it means avoiding a 60GB copy, I'm totally fine with a nasty hack that I can use without waiting for a new feature.
The text was updated successfully, but these errors were encountered: