Как запустить PHP-скрипт на докере? - PullRequest
0 голосов
/ 14 января 2019

У меня есть index.php:

<?php
echo "Hello World";
?>

Dockerfile с сайта: https://docs.docker.com/samples/library/php/

FROM php:7.2-cli
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
CMD [ "php", "./index.php" ]

Я создаю образ и запускаю контейнер:

docker build -t my-php-app .
docker run -p 7000:80 --rm --name hello-world-test my-php-app

Я вижу только текст "Hello World", но мое приложение не работает в http://localhost:7000/ почему?

1 Ответ

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

Вы можете сохранить то же базовое изображение, что и у вас php:7.2-cli,:

FROM php:7.2-cli
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
CMD [ "php", "./index.php" ]

построить изображение:

docker build -t my-php-app .

запустите:

docker run --rm --name hello-world-test my-php-app

Вы получите:

Hello World

Все, что вы сделали, было правильным, кроме сопоставления портов (-p 7000:80), в котором нет необходимости, поскольку вы не запускаете веб-сервер.

== РЕДАКТИРОВАТЬ

Если вы хотите запустить его как веб-сервер, используйте следующий Dockerfile:

FROM php:7.2-apache
COPY . /var/www/html/

построить его:

docker build -t my-php-app .

и запустите его:

docker run -p 8080:80 -d my-php-app

тогда ваш скрипт PHP будет запущен на 8080.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...