我试图在由 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
效果很好。
我尝试寻找外面的任何解决方案,但我无法找到/理解这样的解决方案。
有什么想法吗?
提前致谢: - )
答案 0 :(得分:2)
在Linux上,如果您使用pip安装了docker compose,请使用以下命令将其卸载:
pip uninstall docker-compose
并尝试手动安装。这对我有用:
curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
如果您有权限问题,那么您很可能无法写入/ usr / local / bin / docker-compose。 - >试试“sudo su”。
此处引用:https://docs.docker.com/compose/install/
享受! : - )
答案 1 :(得分:-1)
使用最新版本的docker(1.11.1)docker-compose效果很好(也在代理后面)