2
這是我的問題爲什麼我的端口沒有暴露? netstat輸出中包含
# docker exec -ti root_web_1 bash
[[email protected]]# curl couchdb:5984
curl: (7) Failed to connect to couchdb port 5984: Connection refused
[[email protected]]# curl redis:6379
-ERR wrong number of arguments for 'get' command
-ERR unknown command 'Host:'
-ERR unknown command 'User-Agent:'
-ERR unknown command 'Accept:'
^C
問題
爲什麼我不能訪問couchdb:5984
?
背景
當我在我的CouchDB的容器,我可以curl localhost:5984
及其響應和netstat -nl
給我
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:5984 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.11:35300 0.0.0.0:* LISTEN
udp 0 0 127.0.0.11:51267 0.0.0.0:*
和Dockerfile
包含EXPOSE 5984
,但我得到connection refused
從做curl couchdb:5984
時web
集裝箱。
當我做Redis的一樣,curl redis:6379
它響應和netstat -nl
給
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.11:46665 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN
tcp6 0 0 :::6379 :::* LISTEN
udp 0 0 127.0.0.11:49518 0.0.0.0:*
這是CouchDB的Dockerfile
FROM fedora:25
RUN dnf -y update
RUN dnf -y install couchdb
EXPOSE 5984
CMD ["/usr/bin/couchdb"]
這是docker-compose.yml
。
version: '2'
networks:
revproxynet:
external: true
services:
web:
images: nginx
networks:
- revproxynet
redis:
image: redis
networks:
- revproxynet
couchdb:
build: /docker/couchdb/
networks:
- revproxynet
網絡創建與docker network create revproxynet
。
恕我直言,這是題外話題 – Alnitak