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?
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