Рейтинг:0

Могут ли клиенты Docker или Podman, работающие в MacOS/Windows, использовать удаленный сервер для создания/запуска контейнеров?

флаг cn

С MacOS и Windows в качестве клиентов, и я хотел бы иметь адрес в моей сети (локальный или общедоступный) для обработки шагов сборки контейнера и запуска контейнера.

Поэтому, когда я запускаю что-то вроде следующего, оно выполняется на моей удаленной машине, но, похоже, работает локально

сборка докера.
docker run -v .:/app -p 9000:9000 foo:последняя

Я надеюсь, что смогу использовать ноутбук, похожий на тонкий клиент, для написания своего кода, в то время как код компилируется и выполняется на удаленном компьютере, что позволит мне воспользоваться большим пространством для хранения кэшированных изображений, более быстрыми вычислениями, разделением вычислительной мощности, поэтому я может централизовать мои затраты на оборудование для достижения максимального эффекта.

Кроме того, когда я неизбежно возвращаюсь в офис, я могу переложить работу на свой рабочий стол, сидя дома, используя легкий / портативный ноутбук в офисе.

Меня не интересуют графические интерфейсы рабочего стола, и мне все равно, будет ли это Podman или Docker.

Возможна ли такая установка или мне лучше использовать ssh, туннелирование портов и использование реализации ssh-fs с плавким предохранителем?

Рейтинг:1
флаг co

Straight from the command line, you can do the following with Docker:

DOCKER_HOST=ssh://user@host docker build -t image:tag .

And to save a bit of typing, you can set a context to save the remote host:

docker context create remote --docker "host=ssh://user@host"

and then use that remote context with:

docker -c remote build -t image:tag .

and if you want to run all of the commands with that context, then:

# switch to the remote context for all future commands
docker context use remote
# and to revert back to the default local context
docker context use default

This works well with a build, because the build context is sent to that remote server, and so there are no local filesystem mounts.

However, once you go to run the container, things get more complicated. All of the listening ports will be on the remote host, and volume mounts will be on the remote host filesystem. If you need these capabilities, then tunneling ports and ssh-fs may be the better option. The other option that comes to mind is remote plugins in the IDE that make all code changes on the remote host over ssh so development feels like it's local even when it isn't.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.