相关疑难解决方法(0)

使用Docker Compose的交互式shell

有没有办法只使用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.

shell interactive docker docker-compose

214
推荐指数
10
解决办法
15万
查看次数

无法连接到在本地Docker容器中运行的Go GRPC服务器

我有一个去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)

其他信息:

  • 客户端程序从docker容器中运行良好
  • 连接到常规休息端点工作正常(http2,grpc相关?)
  • lsof在OS X中运行该命令会产生这些结果

    $lsof -i | grep 51672
    com.docke   984 oldDave   21u  IPv4 0x72779547e3a32c89      0t0  TCP …
    Run Code Online (Sandbox Code Playgroud)

go docker grpc

12
推荐指数
1
解决办法
5517
查看次数

标签 统计

docker ×2

docker-compose ×1

go ×1

grpc ×1

interactive ×1

shell ×1