Назад | Перейти на главную страницу

Ошибка доступа к порту для приложения docker на экземпляре виртуальной машины Google Compute Engine

Я пытаюсь развернуть веб-приложение в экземпляре виртуальной машины в Google Compute Engine (GCP). Я подключаюсь к экземпляру через ssh и развертываю оркестрованное приложение docker-compose. Что запускает два контейнера докеров, как показано ниже.

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               
6824c19fad9b        wordpress:latest    "docker-entrypoint.s…"   3 hours ago         Up 22 seconds       0.0.0.0:8065->80/tcp   
3079c9872e3d        mysql:5.7           "docker-entrypoint.s…"   3 hours ago         Up 3 hours          3306/tcp

В соответствии с моим предыдущим опытом я сопоставил порт 8065 экземпляра хоста с портом контейнера wordpress. 80 (который отлично работает на моем локальном компьютере и некоторых других машинах) Итак, как вы могли видеть выше, докер правильно выполнил сопоставление, как я предполагаю.

Чтобы проверить настройку экземпляра, когда я запускаю curl http://localhost:8065
терминал отвечает curl: (52) Empty reply from server

Поскольку я не могу заставить работать внутреннее отображение, его также бесполезно отображать извне. Однако я сделал новые входить и выход правила брандмауэра включить TCP: 8065 для этого экземпляра. Однако все равно не повезло.

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

Вам следует «Разрешить HTTP-трафик» и «Разрешить HTTPS-трафик».

Перейдите к своим экземплярам ВМ, отредактируйте экземпляр и установите флажки «Разрешить HTTP-трафик» и «Разрешить HTTPS-трафик». Он будет отображать внешний трафик виртуальной машины, а докер будет обрабатывать его внутренне.