Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker错误:服务';app&x27;未能构建_Docker_Docker Compose - Fatal编程技术网

Docker错误:服务';app&x27;未能构建

Docker错误:服务';app&x27;未能构建,docker,docker-compose,Docker,Docker Compose,我是docker的新手,目前正在学习Django 运行以下命令时是否需要处于虚拟环境中 指挥部 我看过docker basic视频,视频中说它会将每个应用程序保存为图像。但是这些图像保存在哪里呢 这一行是否构成当前pc根目录或dockers映像 WORKDIR/usr/src/app' 添加在Dockerfile中运行之前放置 $sudo docker组合构建 但是我犯了这些错误 ERROR: Service 'app' failed to build: ADD failed: stat /va

我是docker的新手,目前正在学习Django

  • 运行以下命令时是否需要处于虚拟环境中 指挥部

  • 我看过docker basic视频,视频中说它会将每个应用程序保存为图像。但是这些图像保存在哪里呢

  • 这一行是否构成当前pc根目录或dockers映像 WORKDIR/usr/src/app'

  • 添加在Dockerfile中运行之前放置

    $sudo docker组合构建

    但是我犯了这些错误

    ERROR: Service 'app' failed to build: ADD failed: stat /var/lib/docker/tmp/docker-builder912263941/config/requirements.txt: no such file or directory
    
    Dockerfile

    FROM python:3
    RUN apt-get update \
        && apt-get install -y --no-install-recommends \
        mysql-client default-libmysqlclient-dev
    
    WORKDIR /usr/src/app
    ADD config/requirements.txt ./
    RUN pip3 install --upgrade pip; \
      pip3 install -r requirements.txt
    RUN django-admin startproject myproject .;\
      mv ./myproject ./origproject
    
    docker compose.yml

    version: '2'
    services:
      db:
        image: 'mysql:5.7'
      app:
        build: .
        command: python3 manage.py runserver 0.0.0.0:8000
        volumes:
          - './project:/usr/src/app/myproject'
          - './media:/usr/src/app/media'
          - './static:/usr/src/app/static'
          - './templates:/usr/src/app/templates'
          - './apps/external:/usr/src/app/external'
          - './apps/myapp1:/usr/src/app/myapp1'
          - './apps/myapp2:/usr/src/app/myapp2'
        ports:
          - '8000:8000'
        links:
          - db
    
    requirements.txt

    Pillow~=5.2.0
    mysqlclient~=1.3.0
    Django~=2.1.0
    
    运行以下命令时是否需要处于虚拟环境中 指挥部

    否,docker生成环境与主机隔离。主机上的任何virtualenv在构建上下文和生成的映像上都将被忽略

    我看过docker basic视频,视频中说它保存了每个应用程序 作为图像。但是这些图像保存在哪里呢

    这些图像存储在
    /var/lib/docker
    中的某个位置,但不能手动浏览。您可以使用
    docker push
    将图像发送到某处,或使用
    docker save-o.tar

    该行是否构成当前pc根目录或dockers映像“WORKDIR>/usr/src/app”

    该行更改图像上的当前workdir

    ERROR: Service 'app' failed to build: ADD failed: stat /var/lib/docker/tmp/docker-builder912263941/config/requirements.txt: no such file or directory
    
    此错误表示运行生成的当前目录中没有
    config/requirements.txt
    。正确调整Dockerfile上的路径

    $ docker-compose up -d
    

    这将下载必要的Docker映像,并为web服务创建一个容器。

    可能是
    config/requirements.txt
    文件位于一个文件夹下,如
    myproject
    myapp1
    config
    文件夹需要与您的
    Dockerfile
    docker compose.yml
    文件夹位于同一个位置,谢谢,但在手册中指定将requirements.txt放在config子目录中。配置目录仅存在于myproject/myproject/config中。还有myproject/myproject/tmp,其中放置了settings.py、url.py和wsgi.py。这些目录不是由Django创建的。何时使用这些目录?这是某种标准吗?@VAsplash我不是要移动requirements.txt文件,而是使用dockerfile上的正确路径。也许你是指myproject/config/requirements.txt?您的问题中不清楚requirements.txt文件相对于docker-compose.yml的位置默认设置.py文件位置已更改。它移动到在default settings.py位置创建的新tmp目录。但是在创建配置目录的tmp目录的同一级别。因为requirements.txt以前是按照书中的规定放在config中的。为什么作者使用这些目录。这是标准吗?