Вступление
Обычно мы используем режим моста/сети для докера. Иногда нам нужно использовать режим хоста/хост-сеть для контейнеров.
Обычно режим хоста должен работать лучше, чем режим моста (потому что режим моста имеет больше слоев, чем режим хоста, но обычно производительность не слишком плохая), но менее безопасный и менее сегрегированный/изолированный, чем режим хоста.
Примечание: режим хоста/сеть хоста не работает со ссылкой
Укажите режим хоста/мост в команде » docker run
Режим моста
docker run-it --rm-p 5601:5601 --name=iper3-srv networkstatic/iperf3-s-p 5601
- -i: держите стандартного ввода открыть даже ID не привязан
- -t: выделить псевдо-телетайп
- –rm: автоматически удалить контейнер, когда он существует
- -p host_port:container_port: выставить порты, host_port:container_port
- –name string: присвоить имя контейнера, iperf3-SRV в данном примере
networkstatic/iperf3: Docker-образ, например, httpd, Tomcat с и т. д. Другие изображения docker можно найти на hub.docker.com - -s: параметр iperf3, Запуск от имени сервера
- -p: параметр iperf3, работающий на указанном порту, то есть 5601 в данном примере
Режим хоста
docker run --net=host-it --rm --name=iperf3-srv networkstatic/iperf3-s-p 5601
Укажите режим хоста/мост в файле docker compose
(Используя LanCache в качестве примера)
Режим моста
version: '2' services: sniproxy: image: lancachenet/sniproxy:latest restart: unless-stopped ports: - 443:443/tcp monolithic: image: lancachenet/monolithic:latest environment: - CACHE_DISK_SIZE=500g - UPSTREAM_DNS = 1.1.1.1 restart: unless-stopped ports: - 80:80/tcp volumes: - /location-on-host/lancache/cache:/data/cache - /location-on-host/lancache/logs:/data/logs
Режим хоста
version: '2' services: sniproxy: image: lancachenet/sniproxy:latest restart: unless-stopped ports: - 443:443/tcp network_mode: host monolithic: image: lancachenet/monolithic:latest environment: - CACHE_DISK_SIZE=500g - UPSTREAM_DNS = 1.1.1.1 restart: unless-stopped ports: - 80:80/tcp network_mode: host volumes: - /location-on-host/lancache/cache:/data/cache - /location-on-host/lancache/logs:/data/logs
Примечание: режим хоста/хост-сеть не могут быть использованы с link