为什么我不能在我的 docker 容器中执行命令 pwd 或任何命令?

时间:2021-07-10 23:18:35

标签: docker docker-compose

我正像这样进入我的容器

docker exec -t CONTAINER_ID sh

然后我进入了容器,但是当我运行诸如 lspwd 之类的任何命令时,它什么也没发生并冻结,有人知道为什么会这样吗?

这是我的 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

1 个答案:

答案 0 :(得分:0)

我相信您需要指定 -i--interactive 才能打开 Docker shell。例如:

docker exec -i -t CONTAINER_ID sh