Стандартный шаблон, который вы должны использовать здесь, это написать Dockerfile, который выполняет любую установку программного обеспечения, которая вам нужна, и создает из нее образ.На самом деле это вполне соответствует вашим насущным потребностям, поскольку после создания образа вы можете запустить его без сети.
Типичный скелет Dockerfile может выглядеть более или менее как
FROM ubuntu:18.04
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends --assume-yes \
thing-to-run-without-network
CMD ["/usr/bin/thing-to-run-without-network"]
Изатем вы должны построить и запустить его как
docker build -t no-net-test .
docker run --rm --net none no-net-test
Как правило, вы должны настроить свой образ таким образом, чтобы docker run
делал все, что нужно контейнеру, без необходимости docker exec
(кроме ручной отладки).).Вы никогда не должны устанавливать вещи в работающий контейнер: ваша работа будет потеряна, как только вы docker rm
контейнер, и удаление и перезапуск ваших контейнеров будет чрезвычайно обычным делом.