В производственных средах у вас никогда не будет удаленного демона Docker. Обычно вы взаимодействуете с Docker либо через выделенного оркестратора (Kubernetes, Docker Swarm, Nomad, AWS ECS), либо с помощью универсального средства автоматизации системы (Chef, Ansible, Salt Stack), либо если Вы должны напрямую подключиться к системе и запустить там команды docker
.
Удаленный доступ к демону Docker является чем-то вроде аварийной ситуации безопасности. Если вы вообще можете получить доступ к демону Docker, вы можете отредактировать любой файл в хост-системе как root и довольно просто перенять весь процесс. (Google "Docker cryptojacking" для некоторых реальных примеров.) В принципе вы можете защитить его с помощью взаимного TLS, но это сложная настройка.
Другая важная рекомендация заключается в том, что Docker изображений должен быть автономным. Не пытайтесь развернуть образ Docker в рабочей среде, а также отдельно скопировать код своего приложения. Та же самая установка Ansible, которая может развертывать контейнер Docker, также может устанавливать Node непосредственно в целевой системе, избегая слоя; Сложно скопировать код приложения в том Kubernetes, особенно когда модули Kubernetes могут перезапуститься вне вашего прямого контроля. Разверните (и протестируйте!) Свои изображения со всем кодом COPY
d в Dockerfile, сводя к минимуму использование bind mounts.