[Docker] Make it easy to add data from the host system to containers
It often happens that someone wants to test the Docker functionality of Crunch by spinning up the Arvados containers, uploading an image from the host system to those containers, and then submitting a job.
Right now, if you try to do this,
arv keep docker will fail to connect to the Keep servers, because they have internal DNS names and the host system doesn't consult the internal DNS server. You can work around that by adding 172.17.42.1 as a nameserver to the host system, but you have to dig through the source to figure that out.
This should be easier. At the very least, we should document the nameserver trick. We could also consider adjusting the Keep entries in the Docker containers to use IP addresses (although this might have downsides I'm not aware of yet), or figure out a reliable way to reconfigure the host resolv.conf to accommodate this.
#2 Updated by Brett Smith over 4 years ago
(10:29:26 AM) <tetron> https://stackoverflow.com/questions/7934027/process-local-override-of-name-resolution
(10:30:25 AM) <tetron> https://unix.stackexchange.com/questions/10438/can-i-create-a-user-specific-hosts-file-to-complement-etc-hosts
(10:32:35 AM) <brett> This seems like a promising possible implementation for #5025.
(10:33:04 AM) <tetron> also LOCALDOMAIN
(10:33:14 AM) <tetron> man 7 hostname
(10:33:18 AM) <tetron> man 5 resolv.conf
(10:33:29 AM) <tetron> brett: exactly
(10:33:31 AM) <brett> I'd be more comfortable if the configuration used full names consistently, though. Overriding super-generic hostnames like "api" and "shell" seems like asking for trouble.
(10:33:41 AM) <tetron> I agree