我正在为我的消息应用程序创建一个 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/