gpt4 book ai didi

docker - 如何从Docker撰写文件为Solr服务器设置自定义IP?

转载 作者:行者123 更新时间:2023-12-02 20:17:40 25 4
gpt4 key购买 nike

简而言之:

我很难从docker-compose.yml文件中找出如何为Solr容器设置自定义IP的方法。

详细的

我们想通过Docker为Drupal实例部署本地开发环境。

问题是,尽管我可以从浏览器通过“传统的” 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容器部分示例。谢谢。

注意:
This link显示了如何设置它的示例,但我不太了解。请记住,我绝不是专家。

忘了提到主机是基于Linux的,主要是UbuntuDebian

编辑:

根据要求,这是我的撰写文件:

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"

最佳答案

一个docker run示例将是

IP_ADDRESS=$(hostname -I)
docker run -d -p 8983:8983 solr bin/solr start -h ${IP_ADDRESS} -p 8983

关于docker - 如何从Docker撰写文件为Solr服务器设置自定义IP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41279825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com