Dies ist das Szenario:Wie DEBUG REDIS, APACHE einen Docker-Container ausgibt?
Der Behälter aus einem Bild kommt mit dem Dockerfile folgen erstellt:
FROM php:5-apache
RUN apachectl -M
RUN a2enmod rewrite
RUN a2enmod expires
RUN service apache2 restart
RUN apachectl -M
RUN php -m
RUN apt-get update
RUN php -m
RUN apt-get install -y php5-redis
RUN apt-get install -y redis-server
#RUN redis-server
RUN cp /etc/php5/mods-available/redis.ini /usr/local/etc/php/conf.d && ln -s /usr/lib/php5/20131226/redis.so /usr/local/lib/php/extensions/no-debug-non-zts-20131226/redis.so
RUN php -m
COPY src/ /var/www/html
EXPOSE 80
#CMD ["redis-server"]
Bitte beachten Sie die letzte Zeile CMD ["redis-server"]
.
Nachdem das Bild aufgebaut ist, ich die Container wie diese
docker run -p 80:80 my_img
erstellen Wenn das Bild mit #CMD ["redis-server"]
im Browser integriert ist (0.0.0.0:80) Ich erhalte eine Fehlermeldung (das kommt von meinem index.php
Datei) "Could not connetc to REDIS"
. Vielleicht liegt es daran, dass REDIS nicht initialisiert wurde.
Wenn das Bild mit CMD ["redis-server"]
bauen und dass initialisiert REDIS (ich das REDIS Symbol in dem Docker Terminal sehen kann), aber ich erhalte eine Fehlermeldung im Browser:
Also, ich habe keine Hinweise, was passiert. Ich bin neu in Docker und habe keine Ahnung, wie man es debuggt. Es kann etwas mit den Portkonflikten (REDISxApache) oder vielleicht mit der REDIS selbst zu tun haben. Oder so sollte ich REDIS nicht initialisieren.
Irgendwelche Hilfe dazu?
ok @Tarun Ich habe die Idee, aber ich bin neu in Docker. Also, sollte ich eine neue Datei namens docker-composer.yml erstellen und sie im selben Verzeichnis meiner dockerfile speichern? Dann, nachdem ich mein Bild ausgeführt habe, sollte ich ein anderes Terminal öffnen und '$ docker-compose up' ausführen, das einen anderen Container erstellen wird ... richtig? – zwitterion
Ja, das ist korrekt –
Das ist, was ich 'docker-compose up ERROR: In der Datei './docker-compose.yml' muss Service 'Verison' ein Mapping sein, kein String '. – zwitterion