R
R
Ruslan Absalyamov2019-08-10 11:27:22
Docker
Ruslan Absalyamov, 2019-08-10 11:27:22

How to open a website with docker?

I have such a problem that it seems like I started docker and writes that all the components are done but I can’t open the site.
5d4e7edfb2a63419448081.png
As I understand it, it turned on.
/Users/user/Sites/kfinp/docker-compose.yml

version: '3'

services:
  webserver:
    container_name: apache-php_kfnp
    build:
      context: docker
      dockerfile: Dockerfile
    environment:
      XDEBUG_CONFIG: remote_host=host.docker.internal
      PHP_IDE_CONFIG: serverName=localhost
    ports:
    - 80:80
    volumes:
    - ./:/var/www
    links:
    - db
    depends_on:
    - db

  db:
    container_name: mysql_kfnp
    image: 'mysql:5.7'
    command: --default-authentication-plugin=mysql_native_password --disable-partition-engine-check
    restart: always
    ports:
    - 3336:3306
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: kfnp
      MYSQL_USER: kfnp-user
      MYSQL_PASSWORD: querty-123
    volumes:
    - /Users/user/Sites/kfinp/docker/database:/var/lib/mysql

/Users/user/Sites/kfinp/docker/Dockerfile
#инструкция FROM - указывает на базе какого обараза будем собирать наш контейнер.
FROM ubuntu:latest

#инструкция RUN - указывает какую команду нужно выполнить внутри образа. обновим индекс пакетов
RUN apt-get update

RUN apt-get install -y apache2 apache2-utils curl gnupg wget
RUN a2enmod rewrite

#Инструкция ENV задает переменные окружения с именем <key> и значением <value>.
#Это значение будет находиться в окружении всех команд потомков Dockerfile и могут быть использованы как обычные переменные окружения.
ENV TZ=Europe/Moscow

#указываем временную зону для нашего образа.
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get install -y git python3 perl \
    php nano

#устанавливаем php расширения
RUN apt-get install -y \
    php-pdo php-pdo-mysql \
    php-mbstring php-tokenizer \
    php-xml php-simplexml php-zip \
    php-opcache php-iconv php-intl \
    php-json php-gd php-ctype php-oauth \
    php-apcu php-imagick php-xdebug \
    php-memcached php-ftp php-imap \
    php-curl iputils-ping

#после завершения установок всех пакетов - обновим индекс
RUN apt-get update

#откроем 80 порт
EXPOSE 80

#добавим в контейнер конфигурационный файл php.ini, расположим его на стаднатрном для ubuntu месте
ADD ./conf/php/php.ini /etc/php/7.2/apache2/php.ini

#обязательно добавим конфигурации xdebug
ADD ./conf/php/xdebug.ini /etc/php/7.2/mods-available/xdebug.ini

#добавим в контейнер конфигурационный файл для apache, расположим его на стаднатрном для ubuntu месте
ADD ./conf/apache/apache2.conf /etc/apache2/apache2.conf

#удалим содержащиеся файлы в этих папках, потому что вскоре там будут наши
RUN rm -R /etc/apache2/sites-enabled/* /etc/apache2/sites-available/* /var/www/*

#добавим конфигурацонный файл для виртуального сервера
ADD ./conf/apache/admin.kfnp.dev.conf /etc/apache2/sites-enabled/admin.kfnp.dev.conf
ADD ./conf/apache/free.kfnp.dev.conf /etc/apache2/sites-enabled/free.kfnp.dev.conf
ADD ./conf/apache/kfnp24.dev.conf /etc/apache2/sites-enabled/kfnp24.dev.conf
ADD ./conf/apache/kfnp.dev.conf /etc/apache2/sites-enabled/kfnp.dev.conf

#укажим дирректорию /var/www как рабочую
WORKDIR /var/www

#запускаем процес apache2 в нормальном режиме (На переднем плане).
#Пока живет это процесс, живет и контейнер.
CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]

/Users/user/Sites/kfinp/docker/conf/apache/admin.kfnp.dev.conf
<VirtualHost *:80>
  ServerName admin.kfnp.dev
  ServerAdmin [email protected]

  DocumentRoot /var/www/web/backend/web
  <Directory "/var/www/web/backend/web/">
        RewriteEngine on

        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d

        RewriteRule . index.php
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Other apache site configs are the same. What is about wrong?
Now the site says Unable to access the site.
If the logs then where to look for them in the main machine logs or not.

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question