Невозможно запустить веб-сервер на контейнере док-станции Centos - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь создать докерский контейнер centos с PHP5.6 и Apache2.4. Я создал DockerFile вот так -

FROM centos:latest
MAINTAINER Rituparna
RUN yum -y groupinstall 'Basic Web Server'
RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
RUN yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
RUN yum-config-manager --enable remi-php56
RUN yum -y install php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo
COPY phpinfo.php /var/www/html/
CMD [“/usr/sbin/httpd”, “-D”, “FOREGROUND”]
EXPOSE 80

Затем я запускаю следующую команду -

#docker build /docker/ -t webserver:v1

Docker Builder успешно. Я проверил образ докера -

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
webserver           v1                  7653a3ca22df        About an hour ago   1.55 GB
docker.io/httpd     2.4                 e77c77f17b46        2 weeks ago         140 MB
docker.io/centos    latest              9f38484d220f        3 months ago        202 MB

Как только докер успешно скомпилирован, я запустил докер так -

 # docker run webserver:v1 cat /etc/issue
\S
Kernel \r on an \m

Затем я запускаю докер с помощью следующей команды -

# docker run -d -it -p 8080:80 webserver:v1
c4c4e986ef67e1359d0a9c9c99cadb7ad340717c528da24666e36ea8ad1e3643

Я могу использовать SSH для Docker-контейнера следующим образом -

# docker run -it webserver:v1 bash
[root@98c0b59164e3 /]# cd /var/www/html/
[root@98c0b59164e3 html]# ls
phpinfo.php
[root@98c0b59164e3 html]# php -v
PHP 5.6.40 (cli) (built: May 28 2019 10:47:03)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
[root@98c0b59164e3 html]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Apr 24 2019 13:45:48

Теперь при попытке получить доступ к докер-хостингу вот так -

# links http://192.168.0.10:8080/phpinfo.php

Выдает «Невозможно подключиться». 192.168.0.10 - IP-адрес хост-системы. Я также попытался выполнить команду ниже на контейнере Docker -

# /usr/sbin/httpd -D 'FOREGROUND'
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message

по-прежнему не может просматривать веб-сайт из хост-системы или из локальной сети.

Нужна помощь для выявления и устранения проблемы.

ОБНОВЛЕНИЕ: Мне удалось запустить Docker, добавив Dockerfile со следующим -

EXPOSE 80
CMD ["-D", "FOREGROUND"]
ENTRYPOINT ["/usr/sbin/httpd"]

1 Ответ

0 голосов
/ 29 июня 2019

Попробуйте добавить —-network host к вашему docker run заявлению. Пример из Docker Docs

...