Я испытываю странное поведение на Mac OSX Docker Desktop
, когда запускаю контейнер и пытаюсь получить доступ к службе, скажем, на http://repository.test.example.com/repository.
Итак, я запускаю alpine docker run -it alpine
и запускаю команду curl http://repository.test.example.com/repository
Однако работает та же служба в другой среде http://repository.stage.example.com/repository
.
Проверено:
- Удаленная служба это работает. Использование curl на Ma c оболочка работает
- Запустил установку виртуальной машины Ubuntu docker и проверил, работает ли она там тоже
- У коллеги не было той же проблемы
Таким образом, проблема, похоже, связана с тем, когда контейнер запускался в Ma c OSX напрямую, особенно в моей Ma c.
Команды
docker run -it alpine
apk add curl
curl http://repository.test.example.com/repository
# Does not receive content just hangs until timeout
Solution
Понял, что это должно быть как-то связано с моим Docker Desktop. Я переустановил, но не повезло. Однако я увидел, что мои настройки для Docker рабочего стола не меняются. Поэтому мне нужно было удалить пользовательские настройки для Docker Desktop, чтобы исправить это.
Определил любые файлы настроек в следующих папках
- ls -l / Users / username / Library / ApplicationSupport | grep -i docker (удаление этого не повлияло)
- ls -l / Users / username / Library / Preferences | grep -i docker (удаление не оказало влияния)
- ls -l / Users / имя пользователя / Библиотека / Контейнеры / | grep -i docker
- ls -l / Пользователи / имя пользователя / Библиотека / Группа \ Контейнеры / | grep -i docker
и удалите все файлы и папки. Это очистило все пользовательские настройки c и Docker Рабочий стол запущен для sh. Тогда проблема также будет решена.
Если вам нужно удалить какие-либо пользовательские настройки для приложения, проверьте и удалите соответствующие файлы и папки из вышеуказанных каталогов.
Еще один полезный пост Где делать Приложения OSX обычно хранят данные конфигурации пользователя?