docker 中的进程无法在启用 ufw 的情况下进行连接

docker 中的进程无法在启用 ufw 的情况下进行连接

我正在尝试设置一个服务器以将 ufw 与 docker 结合使用(通过 dokku)。当启用 ufw 时,我无法打开从一个容器到另一个容器的连接。当禁用它时,我可以正常连接。

例如,我有一个运行 postgres 的容器,另一个运行我的 webapp。当启用 ufw 时,从我的 webapp 到 postgres 的连接超时。连接字符串为:postgres://<myuser>:<mypass>@172.17.42.1:49155/db

我已按照说明操作这里并将DEFAULT_FORWARD_POLICY从更改DROPACCEPT。我还尝试对 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 容器并使用给定的名称)

相关内容