:Docker作成ファイルからSolrサーバーのカスタムIPを設定する方法は?要するに
は私がドッキングウィンドウ-compose.ymlファイルからSolrのコンテナ用のカスタムIPを設定する方法を考え出す苦労を持っています。
詳細
我々はドッカーを経由して、Drupalのインスタンスのために、地元のdevの環境を展開します。
ブラウザから私は "従来の" http://localhost:8983/solr
でSolrサーバーにアクセスできますが、Drupalはこの方法で接続できません。内部0.0.0.0、および127.0.0.1も機能しません。 DrupalがSolrサーバに接続できる唯一の方法はlan IP経由であり、明らかに各ステーションごとに異なりますが、Drupalの設定を更新する必要があるため、通信できるカスタムIPを指定することがベストだと思いましたそれは簡単ではありません。
私は、コンテナに静的IPを割り当てることは最良の解決策ではありませんが、solr.in.shで修正するよりも実現可能であると認識しており、これを達成する方法が異なる場合、
ほとんどの場合、私はdocker run
と一緒にコマンドラインパラメータを使用できますが、docker-compose up -d
でコンテナを実行する必要があります。これは最適な解決策ではありません。
コンポジションファイルのSolrコンテナセクションの例が理想的です。ありがとう。
注: は、設定方法の例を示していますが、わかりにくいです。私は決して専門家ではないことに留意してください。
ホストがLinux
、ほとんどがUbuntu
およびDebian
に基づいています。
編集:
要求されたとして、ここに私のコンファイルです:
version: "2"
services:
db:
image: wodby/drupal-mariadb
environment:
MYSQL_RANDOM_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
# command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci # The simple way to override the mariadb config.
volumes:
- ./data/mysql:/var/lib/mysql
- ./docker-runtime/mariadb-init:/docker-entrypoint-initdb.d # Place init .sql file(s) here.
php:
image: wodby/drupal-php:7.0 # Allowed: 7.0, 5.6.
environment:
DEPLOY_ENV: dev
PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S mailhog:1025
PHP_XDEBUG_ENABLED: 1 # Set 1 to enable.
# PHP_SITE_NAME: dev
# PHP_HOST_NAME: localhost:8000
# PHP_DOCROOT: publiC# Relative path inside the /var/www/html/ directory.
# PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S mailhog:1025
# PHP_XDEBUG_ENABLED: 1
# PHP_XDEBUG_AUTOSTART: 1
# PHP_XDEBUG_REMOTE_CONNECT_BACK: 0 # This is needed to respect remote.host setting bellow
# PHP_XDEBUG_REMOTE_HOST: "10.254.254.254" # You will also need to 'sudo ifconfig lo0 alias 10.254.254.254'
links:
- db
volumes:
- ./docroot:/var/www/html
nginx:
image: wodby/drupal-nginx
hostname: testing
environment:
# NGINX_SERVER_NAME: localhost
NGINX_UPSTREAM_NAME: php
# NGINX_DOCROOT: publiC# Relative path inside the /var/www/html/ directory.
DRUPAL_VERSION: 7 # Allowed: 7, 8.
volumes_from:
- php
ports:
- "${PORT_WEB}:80"
pma:
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: db
PMA_USER: ${MYSQL_USER}
PMA_PASSWORD: ${MYSQL_PASSWORD}
ports:
- '${PORT_PMA}:80'
links:
- db
mailhog:
image: mailhog/mailhog
ports:
- "8002:8025"
redis:
image: redis:3.2-alpine
# memcached:
# image: memcached:1.4-alpine
# memcached-admin:
# image: phynias/phpmemcachedadmin
# ports:
# - "8006:80"
solr:
image: makuk66/docker-solr:4.10.3
volumes:
- ./docker-runtime/solr:/opt/solr/server/solr/mycores
# entrypoint:
# - docker-entrypoint.sh
# - solr-precreate
ports:
- "8983:8983"
# varnish:
# image: wodby/drupal-varnish
# depends_on:
# - nginx
# environment:
# VARNISH_SECRET: secret
# VARNISH_BACKEND_HOST: nginx
# VARNISH_BACKEND_PORT: 80
# VARNISH_MEMORY_SIZE: 256M
# VARNISH_STORAGE_SIZE: 1024M
# ports:
# - "8004:6081" # HTTP Proxy
# - "8005:6082" # Control terminal
# sshd:
# image: wodby/drupal-sshd
# environment:
# SSH_PUB_KEY: "ssh-rsa ..."
# volumes_from:
# - php
# ports:
# - "8006:22"
静的IPを使わずに作成ファイルを投稿すると、ドッカーネットワークを追加する方法がわかります。 – NHol
公式の文書に基づいてネットワークインターフェイスを作成できましたが、私のSolrサーバーは0.0.0.0のままで、希望のIPアドレスで公開されませんでした。私はcomposeファイルから除外しました。なぜなら、docsと同じで、期待どおりに動作しないからです。 –
Solrサーバもドッキング・コンテナ内で実行されていますか?編集... Nm私はドッカーでそれを参照してください... –