Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z dockerem
Forum PHP.pl > Forum > Kontrola i zarządzanie projektami
adgad
Witam, mam problem z dockerem. Mój plik yaml wygląda tak:
Kod
data:
    image: busybox
    volumes:
        - ./web:/var/www/html

database:
    image: mariadb
    environment:
        MYSQL_ROOT_PASSWORD: root
        MYSQL_DATABASE: test

server:
    image: webdevops/php-apache-dev:ubuntu-15.10
    ports:
        - "80:80"
    links:
        - database
    volumes_from:
        - data

po odpaleniu docker-compose up -d wszystko jest ok prócz tego że plik index.php z katalogu web nie kopiuje się na serwer ;/
Mógłby ktoś zerknąć?
Pyton_000
Po czym wnioskujesz że się nie skopiował?
odpalasz 'localhost/index.php' i nic?

sprawdź czy kontenery wystartowały 'docker-compose ps'
i logi `docker-compose logs`

Katalog `web` jest obok docker-compose.yml?
adgad
Dzięki za odpowiedź.
Trochę słabo opisałem sprawę, więc zacznę od początku, z nieco zmienionym plikiem. Aktualny to:
Kod
database:
    image: mariadb
    environment:
        MYSQL_ROOT_PASSWORD: root
        MYSQL_DATABASE: test

server:
    image: php:7.1-apache
    ports:
        - "8000:80"
    links:
        - database
    volumes:
        - ./web:/var/www/html

Jeśli uruchomię ten plik na linuxie - na virtualbox-ie postawiłem najnowsze Ubuntu i odpalę - tak - web jest obok docker-compose.yml - to wszystko jest ok, w pliku index.php mam proste phpinfo() i serwer wyświetla to co powinien.
Inaczej wygląda sprawa na windowsie... Gdy odpalę ten plik to mam w tym momencie:
Kod
Forbidden

You don't have permission to access / on this server.

Próbowałem już z uprawnieniami na windowsie walczyć ale nic to nie dało. Czasami tak jak pisałem w pierwszym poście mam tylko informację o serwerze ;/
Jeśli chodzi o docker ps to prawidłowo mi utworzyło dwa kontenery: jeden dla php/apache, a drugi dla mariadb.
Nie mogę wkleić pełny plik loga, ale co mam szukać w logu by wywnioskować że co jest nie tak? Wydaję mi się że to coś po stronie windowsa...
Pyton_000
Było tak od razu że chodzi o Windows....

https://rominirani.com/docker-on-windows-mo...6a2c#.zfidsulqc
adgad
Ok, ale jaka jest "magia" np. tutaj:
https://github.com/Federkun/docker-skeleton-php
że po odpaleniu wszystko działa jak należy?

Hmm, Nie pomógł ten link, w logach znalazłem to:
Kod
[autoindex:error] [pid 9] [client 192.168.99.1:59827] AH01276: Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.php,index.html) found, and server-generated directory index forbidden by Options directive

Jak powinienem zmienić docker-compose.yml żeby pozbyć się tego problemu?
Pyton_000
Błąd apache a nie dockera
adgad
No dobra, ale mam to rozwiązać w jaki sposób? w pliku konfiguracyjnym dla apache?
Pyton_000
Bo tak trudno wpisać w google błąd...
https://www.liquidweb.com/kb/apache-error-n...l-found-solved/
adgad
Tak, bardzo ciężko...
Akurat link który mi podałeś widziałem już wczoraj, tylko że w debianie nie ma tej dyrektywy - czy jakkolwiek nazwać to - chodzi mi o to:
Kod
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

Nawet gdyby była, to dodałem plik index.html do katalogu web co wg treści z tego rozwiązania powinno pomóc, utworzyłem kontenery jeszcze raz, nadal to samo. Zmieniałem plik 000-default.conf i też to nie pomogło - dlatego proszę o konkretne rozwiązanie/podpowiedź a nie pierwszy link w google. Być może, albo raczej prawie na pewno, robię coś źle ;/
Z góry dzięki smile.gif

Jeszcze zastanawia mnie jedna sprawa. Dlaczego na linuxie tego problemu nie ma a na windowsie jest problem z apachem w kontenerze? Pliki dockera są identyczne dla windowsa i linux-a, a mimo to na windowsie jest problem. Czy może mieć to powiązanie z apachem na windowsie? Już tyle nad tym siedzę że chwytam się czego mogę ;/

@Pyton_000 nie miałeś racji - to nie problem z apache
I miałeś rację na początku - to problem z windowsem - w maszynie, tworzonej przez docker toolbox nie było współdzielonego katalogu - to co mi wysłałeś źle zadziałało bo najwyraźniej w złym miejscu to robiłem - zamiast w w virtualboxie.
Pyton_000
Nie muszę mieć zawsze racji smile.gif Ale cieszy mnie że udało Ci się rozwiązać problem.

Opisz co zrobiłeś a może komuś jeszcze się przyda.
adgad
Póki co odpaliłem dockera z miejsca, które jest współdzielone - c:/Users. Próbowałem dodać inną lokalizację - chyba ze średnim skutkiem - ale muszę dłużej nad tym posiedzieć, by sprawdzić czy dodanie innego katalogu nie działa.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.