Сбросить локальный хост: порт 80

запуск контейнероввсе контейнеры Недавно я начал изучать Docker и, следуя инструкциям, выполнил следующую команду

docker run -d -p 80:80 docker/getting-started

и откройте порт localhost: 80 и увидите страницу начала работы с докером. Однако мне пришлось запустить проект моего клиента, порт которого также был сопоставлен с localhost: 80. Из-за этого я не могу запустить проект моего клиента на локальном хосте: 80. В дополнение к этому, каждый случай, когда я случайно открываю докер, а затем переключаюсь на localhost: 80, он перенаправляет на руководство по началу работы с докером. Я хочу сбросить этот порт localhost:80, чтобы при запуске проекта моего клиента я мог сопоставить их с localhost:80. Любой способ исправить проблему?


person Elroy Toscano    schedule 12.05.2021    source источник


Ответы (3)


Сначала найдите идентификатор контейнера, используя:

docker ps

Предположим, что это e11d9f8bb730, теперь вы можете остановить и удалить контейнер с помощью:

docker stop e11d9f8bb730
docker rm e11d9f8bb730

Снова запустите свой контейнер, на этот раз используя другой порт:

docker run -d -p 81:80 docker/getting-started

Теперь ваш контейнер работает на порту 81, и вы сможете запускать клиентское приложение на порту 80.

person programandoconro    schedule 12.05.2021
comment
Проблема в том, что нет запущенных контейнеров. я приложил скриншоты - person Elroy Toscano; 12.05.2021
comment
Что вы видите, когда заходите на localhost:80 в браузере? - person programandoconro; 12.05.2021
comment
Начальная страница Docker, т.е. локальный/учебник - person Elroy Toscano; 12.05.2021
comment
Тогда ваш контейнер действительно работает. Перейдите в терминал и запустите docker ps, как было предложено. - person programandoconro; 12.05.2021
comment
Я проверил это снова. Те же результаты. Вот ссылка: imgur.com/a/boX7YOQ - person Elroy Toscano; 12.05.2021
comment
localhost:80 всегда сопоставляется с localhost/tutorial; в инкогнито возвращается невозможность подключения. В чем проблема? - person Elroy Toscano; 12.05.2021
comment
Проверьте этот пост, чтобы узнать, можете ли вы увидеть/удалить контейнер. stackoverflow.com/questions/16840409/ - person programandoconro; 12.05.2021

Вы можете использовать докер для сопоставления порта контейнера с любым портом, выбранным на вашем локальном компьютере. Например, вы можете использовать свой докер для начала работы и сопоставить порт с 8080 вместо 80 следующим образом:

docker run -d -p 127.0.0.1:8080:80/tcp docker/getting-started
person Dominic Holt    schedule 12.05.2021
comment
Пробовал... localhost:80 сопоставляется с localhost/tutorial, который все еще только начинает работу с докером; localhost:8080 также сопоставляется с началом работы докера - person Elroy Toscano; 12.05.2021
comment
Возможно, вы используете два экземпляра контейнера? Что вы получаете, когда вводите docker ps — я только что попробовал именно эту команду выше, и она сработала для меня. - person Dominic Holt; 26.05.2021

Все, что вам нужно сделать, это остановить контейнер, который вы только что запустили (docker/get-started). Вы можете открыть командную строку и ввести следующую команду:

docker container ls

Вы можете увидеть, какие контейнеры запущены в данный момент. Например:

список док-контейнеров

Вам просто нужно выполнить эту команду для стоп-контейнера:

docker container stop *yourContainerName*

person Arya Sukma Wijaya    schedule 12.05.2021
comment
Проблема в том, что нет запущенных контейнеров. я приложил скриншоты - person Elroy Toscano; 12.05.2021