我正像这样进入我的容器
docker exec -t CONTAINER_ID sh
然后我进入了容器,但是当我运行诸如 ls
或 pwd
之类的任何命令时,它什么也没发生并冻结,有人知道为什么会这样吗?
这是我的 docker-compose.yml 服务
myapp:
build:
context: .
dockerfile: ./build/Dockerfile
args:
- APP_NAME=myapp
command: ./myapp
expose:
- 4003
和我的 Dockerfile
# stage 1
FROM golang:1.16-buster AS builder
ENV GO111MODULE=on GOOS=linux GOARCH=amd64 CGO_ENABLED=0
ENV GOPATH /app
ENV GOBIN /go/bin
RUN mkdir -p /app/src/myapp
WORKDIR /app/src/myapp
ADD ../ /app/src/myapp
RUN go mod download
RUN go build -tags dev -o /$APP_NAME ./cmd/server/$APP_NAME
# stage 2
FROM alpine:3.14
ARG APP_NAME
WORKDIR /app/src/myapp
COPY --from=builder /$APP_NAME /app/src/myapp
答案 0 :(得分:0)
我相信您需要指定 -i
或 --interactive
才能打开 Docker shell。例如:
docker exec -i -t CONTAINER_ID sh