标签: docker

Postfix 硬退回邮件不会被拒绝

更新:这个问题可以通过在 docker 容器中安装 Postfix 来重现。

我尝试从源 2.x 和 3.x 最新 postfix 版本重新编译,但没有解决问题。

我已将 Postfix 配置为发送和接收电子邮件,但 HARD 退回的电子邮件存在一个问题——它们没有被拒绝,Postfix 每隔 x 分钟重复发送一次,并且用户多次收到“未送达的邮件退回给发件人”。

在mail.log中我看到: [..] delay=5.2, delays=0.11/0.01/0.07/5, dsn=4.3.0, status=deferred (bounce or trace service failure)

我-v在master.cf 中添加了bounce、qmgr 守护程序,但我仍然无法弄清楚出了什么问题。

这是我的配置:

# postconf -nf:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
inet_interfaces = all
inet_protocols = all
local_recipient_maps = $virtual_mailbox_maps
mailbox_size_limit = 0
message_size_limit = 134217728
milter_default_action = accept
mydestination = localhost
myhostname …
Run Code Online (Sandbox Code Playgroud)

postfix docker

5
推荐指数
1
解决办法
810
查看次数

'BUG:无法处理 Google Compute Engine 上的内核空指针取消引用'

在半定期的基础上,我看到 GCE 实例冻结并显示以下错误消息(来自串行控制台):

g[1375589.784755] BUG: unable to handle kernel NULL pointer dereference at 0000000000000078
g[1375589.786206] IP: [<ffffffff810a67d9>] check_preempt_wakeup+0xd9/0x1d0
g[1375589.787341] PGD 5da04067 PUD db83067 PMD 0 
g[1375589.788607] Oops: 0000 [#1] SMP 
g[1375589.788705] Modules linked in: veth xt_addrtype xt_conntrack iptable_filter ipt_MASQUERADE iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 ip_tables x_tables nf_nat nf_conntrack bridge stp llc aufs(C) softdog crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 processor psmouse parport_pc parport i2c_piix4 i2c_core thermal_sys lrw virtio_net evdev pcspkr serio_raw gf128mul glue_helper ablk_helper cryptd button ext4 crc16 mbcache jbd2 sd_mod …
Run Code Online (Sandbox Code Playgroud)

linux kernel-panic linux-kernel docker google-compute-engine

5
推荐指数
1
解决办法
2084
查看次数

Jenkins CI 主从设置与 docker 用于从服务器

所以我设置了两个 Ubuntu AWS 实例(一个小的 t2.medium 和一个大的 r3.large)。t2.medium 上安装了 Jenkins CI,而 r3.large 上安装了 docker 引擎。这里的意图是有一个主(t2.medium)服务器和一个从(r3.large)服务器;主服务器可以为作业委派 docker 容器(根据需要启动 jenkins docker 容器)。

我的问题是我对这个有点不知所措。我一直在研究,但几乎我做的任何事情都失败了。

我目前的情况是:就像我上面提到的那样,我在一个实例上成功运行了 jenkins,在另一个实例上成功运行了 docker 引擎。我也有docker插件,在这里找到,安装在 jenkins 上,我已经按照该页面上的说明进行操作。但是,当我添加云并添加凭据时,唯一显示的是“-none-”;但是,相同的凭据显示在底部。

这是我正在谈论的内容的屏幕截图: 在此处输入图片说明

问题是每次我测试连接时都会收到以下错误:

shaded.org.apache.http.conn.HttpHostConnectException: Connect to 10.96.24.240:4243 [/10.96.24.240] failed: Connection refused.

任何帮助将非常感激!我已经做了一个多星期了!我只是无法解决这个问题。

编辑:如果我以错误的方式进行操作,请指导我如何实现预期的设置。

EDIT2:在这两个实例之间打开所有端口。

这是安全组的屏幕截图: 在此处输入图片说明

EDIT3:这是我的泊坞窗图像:

ubuntu@ip-10-96-24-240:~$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
ubuntu@ip-10-96-24-240:~$ docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
jenkins-1              latest              9de6ee8eeebc        3 days ago          816.3 MB
ubuntu                 latest              8251da35e7a7        2 weeks ago         188.4 …
Run Code Online (Sandbox Code Playgroud)

containers amazon-web-services jenkins docker

5
推荐指数
1
解决办法
1235
查看次数

Docker for Windows 托管 IIS 服务器 - 路径是什么?

在 docker 容器中寻找在 IIS 中打包 asp.net 应用程序的路径。

到目前为止,我们看到的文档/示例展示了如何在 docker 容器中打包 Windows 应用程序(以及 Windows 服务):

从中,我们可以看到如何将 apache 服务器与我们的应用程序一起打包到 docker 容器中。

但是我们没有看到将 IIS 实例(其中安装了我们的应用程序)嵌入到 docker 容器中的文档/视觉。

在哪里可以找到这样的文档/示例?

(我们在 IIS 8.5 / .NET 4.51 上有一个 asp.net 应用程序)

windows iis docker

5
推荐指数
1
解决办法
8669
查看次数

系统重启后 Docker 守护进程无法启动

我根据本手册安装了 Docker并触发了以下命令:

sudo chkconfig docker on
Run Code Online (Sandbox Code Playgroud)

一切正常,但是当我重新启动系统时,Docker 守护程序没有运行。

我也试过这个命令,但没有成功。

sudo systemctl enable docker
Run Code Online (Sandbox Code Playgroud)

我的操作系统是CentOS Linux 7.1.1503版和 Docker 1.8.2版

如何确保重启后 Docker 有保证的启动?

docker centos7

5
推荐指数
1
解决办法
4287
查看次数

将来自 docker 容器的传出流量列入白名单

我有一台运行多个 docker 容器的服务器,配置如下:

  • 其中一个容器是绑定到其他容器公开端口的反向代理。这是唯一一个在 http 端口 80 上接受来自外部世界的连接的容器
  • 所有其他容器都是运行 tty shell 的开发环境。这些在主机上暴露了端口,但由于主机上的 EC2 安全组配置,这些端口不会暴露给外界。所以与他们沟通的唯一方法是通过反向代理。反向代理通过它们暴露的端口与它们通信。
    nb 我不能在这里使用容器链接,因为我不想用每个新的开发容器重新启动反向代理容器。

                    |                                DEV Env Docker
                    |                              / 
OUTSIDE WORLD <-----|------> REVERSE PROXY DOCKER  - DEV Env Docker
                    |                              \ 
                    |                                DEV Env Docker
Run Code Online (Sandbox Code Playgroud)

这个想法是用户可以通过反向代理访问开发容器并在该容器内运行命令。

我想通过将他们可以连接的域列入白名单来防止用户运行连接到外部世界的命令。

我已经安装了 squid3 并通过在配置文件中添加以下几行来设置白名单:

acl whitelist dstdomain "/etc/squid3/whitelist.txt"
http_access allow whitelist
Run Code Online (Sandbox Code Playgroud)

我还设法使用以下 iptables 命令 iptables -t nat -A PREROUTING -i docker0 -p tcp -d 0/0 -j REDIRECT --to-port 3128 将流量从 docker 容器重定向到鱿鱼

我遇到的问题是,我只希望来自 Dev Env 容器的传出流量通过 squid,但由于“我相信”,我需要使用 PREROUTING 所有流量都通过 squid,即使是传入和目的地为我的反向代理的流量。

当我尝试通过网络访问我的反向代理时,我从鱿鱼收到以下错误 …

iptables squid transparent-proxy docker

5
推荐指数
1
解决办法
4003
查看次数

如何更改通过 docker 运行的 nginx 的配置文件

我已经使用此命令行通过 Windows 7 上的docker 从此图像https://github.com/sharelatex/sharelatex-docker-image安装了 sharelatex

 $ docker run -d --name sharemongo mongo:latest
    $ docker run -d --name shareredis redis:latest
    $ docker run -d -P -p 80:80 -v /opt/sharelatex --env SHARELATEX_MONGO_URL=mongodb://mongo/sharelatex --end SHARELATEX_REDIS_HOST=redis --link sharemongo:mongo --link shareredis:redis --name sharelatex sharelatex/sharelatex
    and it seems to work
Run Code Online (Sandbox Code Playgroud)

它可以运行。但是我在上传更大的文件 (>2mb) 时遇到问题。有人告诉我,只需将此行添加到配置文件 nginx

client_max_body_size 8m;
Run Code Online (Sandbox Code Playgroud)

但我不知道如何更改已经通过 docker 运行的 nginx 中的配置文件。

谢谢

nginx docker

5
推荐指数
1
解决办法
8588
查看次数

Docker 在 Ubuntu 15.04 上使用大量交换内存,为什么?

在我的 Ubuntu 15.04 x64 Docker(1.9.1-cs2,build 4ade326)主机上,我的内存使用量过大,目前总计约 940 MB 物理内存和约 1 GB 交换内存。据介绍top,Docker 负责消耗大约 780 MB 的交换内存。我怎样才能弄清楚为什么 Docker 使用了如此多的交换?

我主要运行一个 Node.js Docker 容器,它似乎不会消耗那么多内存。内存使用量也在几个小时内上升,因为它在启动后相当适中。

ubuntu memory swap docker ubuntu-15.04

5
推荐指数
1
解决办法
2095
查看次数

在 Docker 上运行 dmesg 导致“dmesg:读取内核缓冲区失败:权限被拒绝”

为了调试发生此问题的原因,在容器上运行以下命令:

docker run -it <dockerImageName> dmesg
Run Code Online (Sandbox Code Playgroud)

结果是:

dmesg: read kernel buffer failed: Permission denied
Run Code Online (Sandbox Code Playgroud)

尝试

  1. 运行docker run -it <dockerImageName> sudo dmesg返回相同的问题

dmesg docker centos7

5
推荐指数
1
解决办法
7520
查看次数

docker-machine 内存分配

我们有一个相当复杂的 Rails 应用程序,即将部署到单个物理主机上。主机有 8 个内核和 128GB 内存。

该应用程序是 dockerised,有 4 种类型的容器

  • 铁路公司 网络服务器
  • Postgres 数据库
  • Redis 数据库
  • 工作容器(Resque)

预计 Rails 和 Worker 容器将通过在 docker-machine 中引入更多容器来扩展。

在开发环境中,内存分配给整个docker-machine:

docker-machine create -d virtualbox --virtualbox-memory 8192 default
Run Code Online (Sandbox Code Playgroud)

是否可以控制单个容器的内存限制?

例如,为 Postgres 分配 16GB,但将 Rails 容器限制为 4GB。应该为运行 docker-machine 的服务器主机分配什么样的最小内存,这甚至可能吗?

编辑

相关问题:

如何处理 Docker 内存管理?

Docker + Apache,内存使用情况如何?

编辑 2

这个答案https://serverfault.com/a/645888/210752表明容器将根据需要分配内存。这不是我在开发环境中的经验(默认情况下,docker-machine 分配了 2GB)。

memory docker

5
推荐指数
1
解决办法
1万
查看次数