【发布时间】:2016-03-04 04:55:20
【问题描述】:
我的 Go 应用程序使TLS connections via tls.Dial() 交换数据。
从主机运行时效果很好:
但是当应用程序从 Docker 容器运行时,传出连接似乎不起作用。应用无限期挂起。
注意 1:与使用 docker run -p $(docker-machine ip):2500:2500 ... 的行为相同
注意 2:VM 没有额外的端口转发设置,除了 docker-machine 的默认 VM 附带的默认设置。
使用 Dockerfile 构建 Docker 映像:
FROM golang:latest
RUN mkdir -p "$GOPATH/src/path/to/app"
# Install dependencies
RUN go get github.com/path/to/dep
VOLUME "$GOPATH/src/path/to/app"
EXPOSE 2500
WORKDIR "$GOPATH/src/path/to/app"
CMD ["go", "run", "main.go"]
主机是运行 docker-machine 的 OS X。
问题
如何使 TCP 传出连接正常工作?
【问题讨论】:
-
What are the requirements to set up a container for TLS connections?与常规主机要求相同。
标签: sockets go docker connection