Ошибка порта Docker EADDRINUSE - PullRequest
       0

Ошибка порта Docker EADDRINUSE

0 голосов
/ 06 января 2019

Я совершенно новичок в Docker и хочу создать проект Hello World с Docker.

В настоящее время я использую Apache на порту 80 в качестве веб-сервера и не хочу уничтожать PID.

Вот мой Dockerfile:

FROM php:7.2-cli
COPY src/ /usr/src/myapp
EXPOSE 80

после того, как я запустил docker build -t hello-world ., просто запустите docker run -p 80:80 hello-world и обнаружил, что порт используется, поэтому я изменил порт на: docker run -p 8080:80 hello-world и получил Interactive shell.

поэтому после исследования Google я смог запустить сервер с помощью этой команды:

docker container run --publish 8080:80 nginx 

Вот вопрос: как я могу запустить приложение hello world с портом 8080 на моем локальном компьютере?

1 Ответ

0 голосов
/ 06 января 2019

Как запустить приложение hello world с портом 8080 на моем локальном компьютере?

Вот что делает -p 8080:80 (как видно из контейнерная сеть ): сопоставить TCP-порт 80 в контейнере с портом 8080 на хосте Docker.

Это означает, что на вашем локальном компьютере http://127.0.0.1:8080 должно отображать приветственное сообщение NGiNX.

Но, в зависимости от вашей настройки докера, вам может потребоваться выполнить какое-то дополнительное сопоставление (между виртуальной машиной, в которой находится Docker, и самим Docker), как я объясняю в « Порты Docker не отображаются ».


Мне просто нужен echo hello world в PHP, я попробовал [docker container run --publish 8080: 80 hello-world], но я получил это: Интерактивная оболочка

Как и ожидалось: ваше изображение основано на php one , точнее 7.2-cli , основная команда которого равна (используется 7.2/stretch/cli/docker-php-entrypoint скрипт):

docker-php-entrypoint php -a

Вы должны использовать вариант изображения , например php:<version>-apache, чтобы увидеть работающее приложение, как в mfieldhouse/docker-php-helloworld С docker-php-entrypoint

FROM php:7.2-apache
COPY src/ /var/www/html
EXPOSE 80

С src, включающим файл index.php:

<?php
echo "Hello, World from Docker! <br>";
echo "Hello ECS! <br>";
echo '<img src="https://www.docker.com/sites/default/files/horizontal.png">';
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...