python - 获取 flake8 返回一个非零代码: 1 在 docker
问题描述
我一直在关注这篇文章。 https://testdriven.io/blog/dockerizing-django-with-postgres-gunicorn-and-nginx/#production-dockerfile
在生产 Dockerfile 部分,Dockerfile.prod 文件包含这些行。
# lint
RUN pip install --upgrade pip
RUN pip install flake8
COPY . /usr/src/app/
RUN flake8 --ignore=E501,F401 .
当我运行以下命令时,
docker-compose -f docker-compose.prod.yml up -d --build
我收到以下错误。
ERROR: Service 'web' failed to build: The command '/bin/sh -c flake8 --ignore=E501,F401' returned a non-zero code: 1
我不太了解 flake8,当我评论“RUN flake8 --ignore=E501,F401”时。Dockerfile.prod 文件中的行一切正常。
谁能告诉我为什么我会遇到这个问题并告诉我一个修复而不是从 Dockerfile 中删除该行。我不太了解flak8,而且我对Docker也很陌生,非常感谢您的帮助:)
谢谢。
解决方案
(至少现在)只让代码 linting在您的 Django App 文件夹中发生可能是一个好主意。因此,如果您按照本教程进行而不做任何改动,您可能需要替换这一行:
RUN flake8 --ignore=E501,F401 .
使用您的 Django 项目代码...
RUN flake8 --ignore=E501,F401 ./hello_django
否则,可能会有很多东西被检查,你不想被 flake8 检查。
推荐阅读
- string - 是否有 Enum StringComparer.OrdinalIgnoreCase 的 Char 版本
- sql - 并发安全访问golang中的数据库
- xml - 在 odoo 10 中创建外发电子邮件服务器
- c - 多通道 x86 系统的内存带宽
- oracle - 什么是数据库中的“(TNS V1-V3)”连接
- python - Python中的“%”(在SQL中搜索单词的一部分)相当于什么
- java - 使用 FileOutputStream 写入后无法删除文件
- javascript - 表单 submit() / formObject.submit() 的访问响应负载
- ios - UIbutton 不响应触摸事件
- ruby-on-rails - 如何使用演员表查询?