我正在尝试设置一个服务器以将 ufw 与 docker 结合使用(通过 dokku)。当启用 ufw 时,我无法打开从一个容器到另一个容器的连接。当禁用它时,我可以正常连接。
例如,我有一个运行 postgres 的容器,另一个运行我的 webapp。当启用 ufw 时,从我的 webapp 到 postgres 的连接超时。连接字符串为:postgres://<myuser>:<mypass>@172.17.42.1:49155/db
我已按照说明操作这里并将DEFAULT_FORWARD_POLICY
从更改DROP
为ACCEPT
。我还尝试对 sysctl.conf 进行概述的更改这里。这不相关,因为我没有使用 prax。
UFW 状态:
$ sudo ufw status
Status: active
To Action From
-- ------ ----
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
2375/tcp ALLOW Anywhere
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
2375/tcp (v6) ALLOW Anywhere (v6)
Docker 进程:
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
76f2bb181584 dokku/mysite:latest /exec bash About an hour ago Up About an hour clever_mestorf
0e9c3ec6fff6 dokku/mysite:latest /exec bash 19 hours ago Up 19 hours focused_feynman
4cbc630bba25 dokku/mysite:latest /bin/bash -c '/start 19 hours ago Up 19 hours 0.0.0.0:49158->5000/tcp cranky_lovelace
5072ed4bdc2a redis/mysite:latest /bin/start_redis.sh 19 hours ago Up 19 hours 0.0.0.0:49157->6379/tcp jovial_galileo
0eab8d9a7fe1 postgresql/mysite:latest /usr/bin/start_pgsql 19 hours ago Up 19 hours 0.0.0.0:49155->5432/tcp desperate_albattani
2df00a075e89 jezdez/elasticsearch:latest /usr/local/bin/run 19 hours ago Up 19 hours 9200/tcp, 9300/tcp angry_carson/elasticsearch,clever_mestorf/elasticsearch,cranky_lovelace/elasticsearch,desperate_hypatia/elasticsearch,elasticsearch_mysite,elegant_shockley/elasticsearch,focused_feynman/elasticsearch,happy_heisenberg/elasticsearch,hungry_franklin/elasticsearch
一般计算机信息:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty
答案1
我建议您使用 --link 选项将 DB 容器链接到需要它的容器中。这样,您就可以使用给定的名称作为连接主机...(--命名 DB 容器并使用给定的名称)