pagkly
pagkly

Reputation: 111

Linux+Docker - How to run host's apps from inside Docker container?

I want to know if Docker can run apps installed in host in the container so that I dont need to install the app on each images which wastes the hard disk space.

I know Linux is different since it requires dependencies and packages locally but I wonder if it is possible to use it like in Windows VM. In Windows Hyper-V, I did this by sharing the network folder containing portable apps with the container and run apps from inside the Windows VM. Thank you.

Upvotes: 1

Views: 4377

Answers (1)

n2o
n2o

Reputation: 6477

You can link a directory on your host containing the executables into your container. Then it will be accessible in the container. To do so, you can use VOLUMES -- Mount a host directory as a data volume and mount a host directory (here: /tmp/foo) into your container (here: /foo) and execute a script called foo.sh in your container's location /foo/foo.sh:

mkdir /tmp/foo
echo -e "#\!/bin/sh\n\necho foo" > /tmp/foo/foo.sh

docker run --rm -v /tmp/foo:/foo alpine sh /foo/foo.sh
=> foo

The same way, you can add binaries from your host to your container... But I do not think that this is intended and should be used, because a container should work as a standalone, isolated "lightweight-VM". You add an unnecessary dependency to your host machine to it, which seems not to be an elegant solution.

Upvotes: 4

Related Questions