有没有办法只使用Docker Compose在容器中启动交互式shell?我在docker-compose.yml中试过这样的东西:
myapp:
image: alpine:latest
entrypoint: /bin/sh
Run Code Online (Sandbox Code Playgroud)
当我使用docker-compose启动此容器时,它会立即退出.是否有任何可以添加到entrypoint命令的标志,或作为myapp的附加选项,以启动为交互式shell?
我知道有一些原生的docker命令选项来实现这一点,只是好奇,如果它也可以只使用Docker Compose.
我有一个去grpc服务.我正在开发mac,sierra.在本地针对服务运行grpc客户端时,一切都很好,但是当在docker容器中针对相同服务运行相同的客户端时,我收到此错误:
transport: http2Client.notifyError got notified that the client transport was broken EOF.
FATA[0000] rpc error: code = Internal desc = transport is closing
Run Code Online (Sandbox Code Playgroud)
这是我的docker文件:
FROM golang:1.7.5
RUN mkdir -p /go/src/github.com/foo/bar
WORKDIR /go/src/github.com/foo/bar
COPY . /go/src/github.com/foo/bar
# ONBUILD RUN go-wrapper download
RUN go install
ENTRYPOINT /go/bin/bar
EXPOSE 51672
Run Code Online (Sandbox Code Playgroud)
我建立图像的命令:
docker build -t bar .
Run Code Online (Sandbox Code Playgroud)
我的命令启动docker容器:
docker run -p 51672:51672 --name bar-container bar
Run Code Online (Sandbox Code Playgroud)
lsof在OS X中运行该命令会产生这些结果
$lsof -i | grep 51672
com.docke 984 oldDave 21u IPv4 0x72779547e3a32c89 0t0 TCP …Run Code Online (Sandbox Code Playgroud)