Предупреждение . Следующая процедура отключает протокол TLS . docker-toolbox использует TLS для защиты соединения между демоном docker и клиентами docker. Отключение этого безопасного канала делает вашу систему докеров уязвимой для угроз безопасности.
Чтобы создать виртуальную машину boot2docker VirtualBox с отключенным TLS, следуйте этому SO-ответу. Если эта ВМ уже создана, выполните следующие действия. Запустите эту виртуальную машину из VirtualBox Manager или SSH в эту виртуальную docker-machine ssh <vm-name>
. Запустите эту команду vi /var/lib/boot2docker/profile
для редактирования файла в редакторе vi.
DOCKER_HOST='-H tcp://0.0.0.0:2376'
DOCKER_TLS=yes
- Измените их следующим образом:
DOCKER_HOST='-H tcp://0.0.0.0:2375'
DOCKER_TLS=no
DOCKER_TLS_VERIFY=no
Затем выйдите из редактора vi
и перезапустите демон dockerd
с помощью этой команды sudo /etc/init.d/docker restart
. Или выйдите из сеанса ssh
и перезагрузите boot2docker VM. Вот сетевые пакеты в виде простого текста после выполнения команды docker system info
:
C:\> tshark.exe -i Host-Only -f "tcp port 2375"
Capturing on 'Host-Only'
192.168.99.1 → 192.168.99.104 TCP 62827 → 2375 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 WS=256 SACK_PERM=1
192.168.99.104 → 192.168.99.1 TCP 2375 → 62827 [SYN, ACK] Seq=0 Ack=1 Win=29200 Len=0 MSS=1460 SACK_PERM=1 WS=128
192.168.99.1 → 192.168.99.104 TCP 62827 → 2375 [ACK] Seq=1 Ack=1 Win=1051136 Len=0
192.168.99.1 → 192.168.99.104 HTTP GET /_ping HTTP/1.1
192.168.99.104 → 192.168.99.1 TCP 2375 → 62827 [ACK] Seq=1 Ack=99 Win=29312 Len=0
192.168.99.104 → 192.168.99.1 HTTP HTTP/1.1 200 OK (text/plain)
192.168.99.1 → 192.168.99.104 HTTP GET /v1.37/info HTTP/1.1
192.168.99.104 → 192.168.99.1 TCP HTTP/1.1 200 OK [TCP segment of a reassembled PDU]
192.168.99.104 → 192.168.99.1 HTTP HTTP/1.1 200 OK (application/json)
192.168.99.1 → 192.168.99.104 TCP 62827 → 2375 [ACK] Seq=202 Ack=3039 Win=1051136 Len=0
192.168.99.1 → 192.168.99.104 TCP 62827 → 2375 [RST, ACK] Seq=202 Ack=3039 Win=0 Len=0
11 packets captured
Так как же это работает? DOCKER_HOST
и DOCKER_TLS
- переменные окружения, используемые в движке докера. DOCKER_TLS=no
отключает шифрование TLS, а порт 2375 является портом по умолчанию, используемым без шифрования. Изменяя эти значения в файле /var/lib/boot2docker/profile
, демон docker всегда принимает эти параметры. Поскольку /var/lib
является постоянным диском в boot2docker VM. Вот несколько цитат (Источник):
Параметры демона Docker Если вам нужно настроить параметры, используемые для запуска демона Docker, вы можете сделать это, добавив записи в файл /var /lib /boot2docker /profile в постоянном разделе виртуальной машины Boot2Docker. Затем перезапустите демон.
Когда вы запускаете docker-machine, инструмент автоматически создает диск, который будет автоматически смонтирован и использован для сохранения ваших данных докера в /var /lib /docker и /var /lib /boot2docker.
Смотрите эту статью для получения дополнительной информации.