小编joc*_*ode的帖子

Docker Swarm EC2上的UDP无效参数

当使用Docker在EC2上发送UDP数据包时,我有时会发现这个奇怪的错误(并非所有发送的消息都有异常),这在使用OpenNebula的内部集群中永远不会发生.我已经允许所有EC2实例上的每个端口上的所有入站/出站流量.这是一个例外:

2017-01-19 10:01:53,170 - ERROR: Exception caught for address: 10.99.0.153
Traceback (most recent call last):
  File "./server.py", line 56, in <module>
    sock.sendto(bytes('{}'.format(i), "utf-8"), (address, PORT))
OSError: [Errno 22] Invalid argument
Run Code Online (Sandbox Code Playgroud)

我用Ubuntu服务器16.04和Docker 1.12.6运行5个c4.xlarge实例.他们都在同一个码头群中.

我使用覆盖驱动程序创建服务和网络子网.此服务具有挂载点以从每个对等方获取日志.我运行150个对等体,每个对等体的内存限制为300MB.

我的Dockerfile:

FROM debian:jessie

RUN echo 'deb http://mirror.switch.ch/ftp/mirror/debian/ jessie-backports main' >> /etc/apt/sources.list && \
    apt-get -yqq update && \
    apt-get -yqq dist-upgrade && \
    apt-get -yqq install --no-install-recommends dnsutils wget curl ntp python3 && \
    apt-get -yqq clean
CMD ["/opt/epto/container-start-script.sh"]
Run Code Online (Sandbox Code Playgroud)

我使用以下shell脚本作为我的CMD:

#!/usr/bin/env bash
MY_IP_ADDR=$(/bin/hostname -i)
MY_IP_ADDR=($MY_IP_ADDR)
./server.py ${MY_IP_ADDR[0]} …
Run Code Online (Sandbox Code Playgroud)

python linux udp amazon-ec2 docker

6
推荐指数
0
解决办法
204
查看次数

为什么我可以隐式地将整数转换为C中的char

我想知道,为什么在C中隐式从整数转换为char?

如果例如:

int i = 2789;

printf("%c\n",i);
Run Code Online (Sandbox Code Playgroud)

会给我一个char回来,因为它会从最重要的那些开始截断位.但是,如果它意味着你将失去精确度,那么通常你不能真正地暗示,所以为什么我可以在这里做呢?

c integer casting char

2
推荐指数
1
解决办法
101
查看次数

标签 统计

amazon-ec2 ×1

c ×1

casting ×1

char ×1

docker ×1

integer ×1

linux ×1

python ×1

udp ×1