2016-07-09 8 views
0

Ich habe versucht, Redis mit WordPress in Docker seit einer Weile jetzt zu verknüpfen, aber ich kann nicht scheinen, damit es funktioniert.Redis als Sitzungsspeicher für WordPress in Docker

Das ist mein Dockerfile:

FROM wordpress:latest 

ENV PHPREDIS_VERSION 2.2.8 

RUN apt-get update && apt-get install -yqq unzip git php5-redis 
RUN curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/$PHPREDIS_VERSION.tar.gz \ 
    && tar xfz /tmp/redis.tar.gz \ 
    && rm -r /tmp/redis.tar.gz \ 
    && mv phpredis-$PHPREDIS_VERSION /usr/src/php/ext/redis \ 
    && docker-php-ext-install redis 

RUN { \ 
    echo 'session.save_handler = redis'; \ 
    echo 'session.save_path = redis:6379'; \ 
} >> /usr/local/etc/php/conf.d/docker-php-ext-redis.ini 

RUN curl -o /tmp/composer.phar http://getcomposer.org/composer.phar \ 
    && mv /tmp/composer.phar /usr/local/bin/composer 
RUN curl -o /tmp/markdown.zip https://littoral.michelf.ca/code/php-markdown/php-markdown-extra-1.2.8.zip \ 
    && unzip /tmp/markdown.zip -d /usr/src/wordpress/wp-content/plugins 

RUN git clone https://github.com/Otto42/simple-twitter-connect.git /usr/share/wordpress/wp-content/plugins/simple-twitter-connect 

RUN rm -rf /tmp/stc.zip && rm -rf /tmp/stc && rm -rf /tmp/markdown.zip 

ADD etc/composer.json /usr/src/composer.json 

RUN chmod a+x /usr/local/bin/composer 
RUN cd /usr/src/ && /usr/local/bin/composer install 
RUN chmod -R a+rX /usr/src/wordpress 

RUN curl -o /tmp/twentyeleven.zip https://downloads.wordpress.org/theme/twentyeleven.2.4.zip 
RUN unzip /tmp/twentyeleven.zip -d /usr/src/wordpress/wp-content/themes/ 
RUN rm -rf /tmp/twentyeleven.zip && rm -rf /tmp/dataporten-oauth.zip 

COPY feidernd /usr/src/wordpress/wp-content/themes/feidernd 
COPY wp-redis-user-session-storage.php /usr/src/wordpress/wp-content/plugins/wp-redis-user-session-storage.php 

VOLUME volume/ /var/www/ 

Und ich bin die Verknüpfung der beiden Behälter

$ docker run -p 6379:6379 --name redis redis 
$ docker run -p 80:80 --link redis:redis --env-file=env.list -t testbuild 

ich versucht habe, die das Native-PHP-Sessions Plugin von Pantheon (https://github.com/pantheon-systems/wp-native-php-sessions) zu installieren, aber ohne Glück.

Jeder mit ein paar guten Ratschlägen, wie man die beiden richtig verbinden kann?

+0

Es ist ein bisschen schwer zu sagen, was von vor sich geht, was du gepostet hast. Haben Sie überprüft, ob redis korrekt funktioniert, indem Sie "docker exec ..." drücken? Können Sie auch in den WP-Container "docken" und mit redis kommunizieren? (Sie müssen möglicherweise 'apt-get install redis-tools' auf dem WP-Container installieren.) Ich würde eine externe Notiz für die Externalisierung Ihrer WP-Dateien erwägen, damit Sie keinen so komplizierten Build haben, aber das ist eine andere Geschichte. – ldg

Antwort

0

Verwenden Sie stattdessen eine Docker-Compose-Datei. Versuchen Sie dann, eine Wellung aus Ihrem Wordpress-Container auszuführen, um sicherzustellen, dass sie verknüpft sind.

Was sehen Sie zu denken, dass sie nicht richtig verknüpft sind?

https://docs.docker.com/compose/

+0

Könnte redis sein, das ist nicht richtig konfiguriert, da ich eine konstante Last bekomme, wenn ich Curl Redis: 6379, und keine Antwort. –

Verwandte Themen