“docker compose not producting”;没有这样的文件或目录;当容器中存在文件时

“docker compose not producting”;没有这样的文件或目录;当容器中存在文件时,docker,docker-compose,Docker,Docker Compose,我有一个简单的Dockerfile FROM python:3.8-slim-buster RUN apt-get update && apt-get install RUN apt-get install -y \ curl \ gcc \ make \ python3-psycopg2 \ postgresql-client \ libpq-dev RUN mkdir -p /var/www/myapp WORKDIR /

我有一个简单的Dockerfile

FROM python:3.8-slim-buster

RUN apt-get update && apt-get install

RUN apt-get install -y \
    curl \
    gcc \
    make \
    python3-psycopg2 \
    postgresql-client \
    libpq-dev

RUN mkdir -p /var/www/myapp
WORKDIR /var/www/myapp
COPY . /var/www/myapp

RUN chmod 700 ./scripts/*.sh
和关联的docker compose文件

version: "3"
volumes:
  postgresdata:
services:
  myapp:
    image: ralston3/myapp_api:prod-latest
    tty: true
    command: /bin/bash -c "/var/www/myapp/scripts/myscript.sh && echo 'hello world'"
    ports:
      - 8000:8000
    volumes:
      - .:/var/www/myapp
    environment:
      SOME_ENV_VARS=SOME_VARIABLE
      # ... more here
    depends_on:
      - redis
      - postgresql
# ... other docker services defined below
当我通过以下方式运行docker compose up时:

docker-compose up -f /path/to/docker-compose.yml up 
My
myapp
容器/服务失败,myapp\u myapp\u 1退出,代码为127,另一个错误提到了
myapp\u 1\124;/bin/sh:1:/var/www/myapp/scripts/myscript.sh:未找到

此外,如果我通过
docker exec-it{container\u ID}/bin/bash
执行到
myapp
容器中,我可以清楚地看到我的所有文件都在那里。我可以直接运行
/var/www/myapp/scripts/myscript.sh
,它运行得很好


然而,docker compose似乎存在一些问题(这可能完全是我的错误)。但我只是对如何执行到容器中并清楚地看到其中的文件感到困惑。但是docker compose存在,其中127表示“没有这样的文件或目录”。

您正在绑定将当前目录装载到“/var/www/myapp”中,因此可能是您的本地目录正在“隐藏/覆盖”容器目录。尝试删除myapp服务的卷声明,如果该声明有效,则您知道是绑定装载导致了问题。

您正在绑定将当前目录装载到“/var/www/myapp”中,因此可能是您的本地目录正在“隐藏/覆盖”容器目录。尝试删除myapp服务的卷声明,如果成功,则您知道是绑定装载导致了问题。

与您的问题无关,但您也会遇到一个问题:您正在第二次安装Python,安装的版本高于
Python
Docker映像中预安装的版本

或者切换到
debian:buster
作为基本映像,或者不用麻烦用apt-get安装antyhign,只需pip安装您的依赖项,比如psycopg


请参阅以了解不需要执行此操作的原因。

与您的问题无关,但您也会遇到一个问题:您正在第二次安装Python,安装的版本高于
Python
Docker映像中预安装的版本

或者切换到
debian:buster
作为基本映像,或者不用麻烦用apt-get安装antyhign,只需pip安装您的依赖项,比如psycopg


有关不需要执行此操作的原因的解释,请参阅。

注意。谢谢不知道
python:3.8-slim-buster
包含了所有这些已经被删除的包。谢谢不知道
python:3.8-slim-buster
已经包含了所有这些包