django - Docker 构建给了我这个错误 "/bin/sh: -c requires an argument , The command '/bin/sh -c' 返回一个非零代码 : 2"

标签 django docker docker-compose dockerfile docker-swarm

我正在为我的消息应用程序创建一个 docker 文件,这是我的 dockerfile。

FROM python:3.9-alpine3.15
LABEL maintainer="Noor Ibrahim"
ENV PYTHONUNBUFFERED 1
COPY ./message /message
COPY ./requirements.txt /requirements.txt
WORKDIR /message
EXPOSE 8000
RUN
RUN python -m venv /py && \
    /py/bin/pip install --upgrade pip && \
    /py/bin/pip install -r /requirements.txt && \
    adduser --disabled-password --no-create-home user

ENV PATH="/py/bin:$PATH"
USER user

我正在运行此命令

docker build .

我在创建构建时收到此错误。我尝试了不同的方法,但这个错误并没有消失。

Sending build context to Docker daemon  67.07kB
Step 1/11 : FROM python:3.9-alpine3.15
 ---> e49e2f1d4108
Step 2/11 : LABEL maintainer="Noor Ibrahim"
 ---> Using cache
 ---> 517b54d522ef
Step 3/11 : ENV PYTHONUNBUFFERED 1
 ---> Running in d8eb9d900584
 ---> 29e281514398
Step 4/11 : COPY ./message /message
 ---> f84edc508eec
Step 5/11 : COPY ./requirements.txt /requirements.txt
 ---> 608149cc5c42
Step 6/11 : WORKDIR /message
 ---> Running in b26ec4b33053
Removing intermediate container b26ec4b33053
 ---> c608a04f1993
Step 7/11 : EXPOSE 8000
 ---> Running in 8b4f7f49a3b8
Removing intermediate container 8b4f7f49a3b8
 ---> a18f155d9320
Step 8/11 : RUN
 ---> Running in 6fa80a39c7d0
/bin/sh: -c requires an argument
The command '/bin/sh -c' returned a non-zero code: 2

最佳答案

几乎可以肯定,额外的 RUN 行后面没有命令

EXPOSE 8000
RUN     <==== This one!! 
RUN python -m venv /py && \
    /py/bin/pip install --upgrade pip && \
    /py/bin/pip install -r /requirements.txt && \
    adduser --disabled-password --no-create-home user

把它去掉就应该没问题了。

关于django - Docker 构建给了我这个错误 "/bin/sh: -c requires an argument , The command '/bin/sh -c' 返回一个非零代码 : 2",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70782445/

相关文章:

mysql - Docker - 对另一个应用程序使用相同的网络和数据库?

带有 PostgreSQL 的 Django ORM 使用 icontains 返回错误的数据

python - 此模板中正确的包含路径是什么?

mysql - 按2个字段组合分组,然后按每组的总和排序,多个注释django

python - Django ForeignKey 哪个不需要参照完整性?

java - Docker ARG不会被替换为Docker文件

docker - docker 注册表ping 404

Docker 撰写无效的顶级属性 "name"

node.js - 在 VS 代码调试器中配置设置以运行 docker

docker - 在Makefile中导出环境变量时出现问题