mrusklon
@mrusklon
Не получается? Яростно гугли!

Почему команды внутри докера недоступны хосту?

первый.. даже не день, первый час сижу юзаю докер))
взял из интернета готовый конфиг php,nginx,mysql , вот он:
Dokerfile

FROM php:8.1-fpm

RUN apt-get update && apt-get install -y \
      apt-utils \
      libpq-dev \
      libpng-dev \
      libzip-dev \
      zip unzip \
      git && \
      docker-php-ext-install pdo_mysql && \
      docker-php-ext-install bcmath && \
      docker-php-ext-install gd && \
      docker-php-ext-install zip && \
      apt-get clean && \
      rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

COPY ./_docker/app/php.ini /usr/local/etc/php/conf.d/php.ini

# Install composer
ENV COMPOSER_ALLOW_SUPERUSER=1
RUN curl -sS https://getcomposer.org/installer | php -- \
    --filename=composer \
    --install-dir=/usr/local/bin

WORKDIR /var/www


docker-compose.yml

version: '3'

services:
    nginx:
        image: nginx:latest
        volumes:
            - ./:/var/www
            - ./_docker/nginx/conf.d:/etc/nginx/conf.d
        ports:
            - 8876:80
        depends_on:
            - app
        container_name: project_nginx

    app:
        build:
            context: .
            dockerfile: _docker/app/Dockerfile
        volumes:
            - ./:/var/www
        depends_on:
            - db
        container_name: project_app

    db:
        image: mysql:8.0
        restart: always
        volumes:
            - ./tmp/db:/var/lib/mysql
        environment:
            MYSQL_DATABASE: laravel
            MYSQL_ROOT_PASSWORD: root
        ports:
            - 8101:3306
        command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
        container_name: project_db


nginx

server {

    index index.html index.php;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /var/www/public;

    location / {
        try_files $uri /index.php;
        # kill cache
        add_header Last-Modified $date_gmt;
        add_header Cache-Control 'no-store, no-cache';
        if_modified_since off;
        expires off;
        etag off;
    }

    location ~ \.php$ {
       try_files $uri =404;
       fastcgi_split_path_info ^(.+\.php)(/.+)$;
       fastcgi_pass app:9000;
       fastcgi_index index.php;
       include fastcgi_params;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       fastcgi_param PATH_INFO $fastcgi_path_info;
    }

}



вроде все и запустил, вроде и работает, но у автора конфига команды все работают в wsl и windows, а у меня только внутри докера, кто подскажет почему?

и еще прикол, laravel говорит что нет такой папки
6w9MGOG.png

но ее итак неможет существовать, какой такой test2 , у меня нет таких папок )) , даже если бы забыл, поиск таких папок тоже не знает

другие веб сервера у меня не запущены
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы