Как изменить сеть для контейнеров в Docker на Linux (Debian)?

Если решите как-то реализовать написанное, то все действия вы производите на свой страх и риск!

1. Проверяем работает ли docker

systemctl status docker

2. Смотрим список сетей

docker network list

В данном случае интересует bridge
3. Смотрим сеть для bridge

docker network inspect bridge | grep Subnet

Вывод примерно такой по умолчанию бывает:

"Subnet": "172.17.0.0/16",

4. В качестве теста у меня запущен контейнер с nginx. Через браузер проверил, что всё работает.
5. Редактируем или создаем файл daemon.json

 nano /etc/docker/daemon.json

И прописываем, в качестве примера, сетевое адресное пространство 10.1.0.0/24 с IP-адресом bridge-интерфейса 10.1.0.1.

{
	"bip": "10.1.0.1/24",
	"default-address-pools": [{
		"base": "10.1.0.0/24",
		"size": 24
	}]
}

6. Смотрим запущенные контейнеры

docker ps -a

7. Удаляем все и проверяем

docker rm -f `docker ps -q -a`
docker ps -a

8. Перезапускаем docker

 systemctl restart docker

9. Проверяем сеть bridge

 docker network inspect bridge | grep Subnet

Вывод

"Subnet": "10.1.0.0/24",

10. В качестве теста запускаю контейнер с nginx, проверяю его адрес и работоспособность через браузер

docker run -d -p 80:80 nginx

ID этого контейнера 3b2a1894c706

docker inspect 3b2a1894c706 | grep "IPAddress"

Видео на Youtube:

Видео на Rutube:

Категории: DevOps Linux

Метки:

- 23.07.2024           Просмотры: 37

Заметки в Telegram

Добавить комментарий

Вы можете оставить комментарий и указать никнейм (выдуманное имя/псевдоним). Поле со звездочкой и капча обязательны. Комментарии одобряются вручную.