Należy dodać pakiet libpng-dev
do Dockerfile
:
FROM php:5.6-apache
RUN docker-php-ext-install mysql mysqli
RUN apt-get update -y && apt-get install -y sendmail libpng-dev
RUN apt-get update && \
apt-get install -y \
zlib1g-dev
RUN docker-php-ext-install mbstring
RUN docker-php-ext-install zip
RUN docker-php-ext-install gd
Następnie przejdź do katalogu z Dockerfile
i uruchom:
docker build -t sitename .
To działało w moim przypadku:
Removing intermediate container f03522715567
Successfully built 9d69212196a2
Niech ja wiem, jeśli masz jakieś błędy.
EDIT:
Powinieneś zobaczyć coś takiego:
REPOSITORY TAG IMAGE ID CREATED SIZE
sitename latest 9d69212196a2 19 minutes ago 414 MB
<none> <none> b6c69576a359 25 minutes ago 412.3 MB
EDIT2:
Wystarczy dokładnie sprawdzić wszystko:
uruchom polecenie docker build
ten sposób:
docker build -t sitename:1.0 .
(dodanie :1.0
nie powinien nic zmieniać, dodałem po prostu mieć dodatkowy wiersz w docker images
wyjściu)
Następnie uruchom pojemnika:
docker run --name sitename_test -p 80:80 sitename:1.0
To powinno działać w porządku.
Zakładam, że apache używa standardowego portu (80) - może trzeba to zmienić. Jeśli masz inne usługi/pojemniki nasłuchuje na porcie 80 można dokonać pojemnik nasłuchuje na innym porcie:
docker run --name sitename_test -p 8080:80 sitename:1.0
które przekierowuje ruch z portu 8080 do portu 80 „wewnątrz” kontenera.
Normalnie uruchamiasz kontener w tle. W tym celu dodaj opcję -d
do komendy docker run
(ale dla celów testowania możesz pominąć -d
, aby zobaczyć wyjście w konsoli).
Nadzieję, że pomaga.
To wydawało się budować, ale robiąc to dostałem kilka linii na czerwono; czy te się nie udają? – evilscary
Proszę wkleić te linie. Zrobiłem ten build, ale nie otrzymałem ostrzeżeń/błędów. – lmtx
Również gdy sprawdzam "obrazy doków", jest napisane, że w czasie, w którym je uruchomiłem, był uruchamiany kompilator, ale kolumna Repozytorium ma "Brak" przeciw niemu. – evilscary