【发布时间】:2016-01-25 11:40:37
【问题描述】:
我正在尝试在由 cntlm 屏蔽的代理后面运行 docker-compose。换句话说,我的代理设置只是 localhost:3128。
1) 首先,我创建了一个新的docker-machine 设置代理并重新生成证书:
HOST=10.16.13.232 # IP address of my Mac
PORT=3128 # port cntlm is listening
docker-machine create \
--engine-env HTTP_PROXY=http://$HOST:$PORT \
--engine-env HTTPS_PROXY=http://$HOST:$PORT \
--engine-env NO_PROXY=*.local,169.254/16,localhost,127.0.0.*,10.*,192.168.*,*.example.com \
-d virtualbox \
--virtualbox-memory 2048 \
--virtualbox-disk-size 102400 \
my_new_machine
yes | docker-machine regenerate-certs my_new_machine
2) 我通过点击设置 ENV 变量:
eval $("docker-machine env my_new_machine")
3) 在当前目录中,我创建了 docker-compose.yml,其中包含:
zookeeper:
image: jplock/zookeeper
container_name: zookeeper
ports:
- "2181:2181"
- "2888:2888"
- "3888:3888"
solr1:
image: makuk66/docker-solr:4.10.4
container_name: solr1
ports:
- "8983:8983"
links:
- "zookeeper:ZK"
command: /opt/solr/bin/solr start -f -c -z zookeeper -a "-Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=myconf -DnumShards=2"
solr2:
image: makuk66/docker-solr:4.10.4
container_name: solr2
ports:
- "8984:8983"
links:
- "zookeeper:ZK"
command: /opt/solr/bin/solr start -f -c -z zookeeper
4) 作为最后一步,我继续点击docker-compose up,但仅当我在我的 cntlm 代理后面时才会收到以下错误:
ERROR: SSL error: hostname '192.168.99.100' doesn't match 'localhost'
在家里,没有任何代理,docker-compose 工作得很好。
我尝试在外面寻找任何解决方案,但我无法找到/理解此类解决方案。
有什么想法吗?
提前致谢:-)
【问题讨论】:
-
这看起来像是一个带有错误替代名称的自签名证书。你设置
subjectAltNames了吗? (stackoverflow.com/a/19290439/6309, stackoverflow.com/a/34350435/6309) -
嗯,不……有没有办法在启动
docker-machine create命令时设置subjectAltNames? -
顺便说一下,我创建了一台机器,名称为:local.mymachine.com,但问题仍然存在
标签: docker docker-compose solrcloud docker-machine