docker build运行报错source: not found解决分析

 更新时间:2023年09月12日 08:59:49   作者:ponponon  
这篇文章主要为大家介绍了docker build运行报错source: not found解决分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

运行 

FROM python:3.10.10-bullseye 
RUN . /etc/os-release && cat > /etc/apt/sources.list <<EOF
    deb http://mirrors.tuna.tsinghua.edu.cn/debian/ ${VERSION_CODENAME} main contrib non-free
    deb http://mirrors.tuna.tsinghua.edu.cn/debian/ ${VERSION_CODENAME}-updates main contrib non-free
    deb http://mirrors.tuna.tsinghua.edu.cn/debian/ ${VERSION_CODENAME}-backports main contrib non-free
    deb http://security.debian.org/debian-security bullseye-security main contrib non-free
EOF

RUN apt-get update
RUN apt-get install -y vim

RUN mkdir /code

ADD . /code/

WORKDIR /code/PyAV
RUN source scripts/activate.sh && pip install --upgrade -r tests/requirements.txt && ./scripts/build-deps && make

报错

─➤  docker build -t ponponon/pyav:0.0.1 .                                                                                                                                                                                                                                                2 ↵
[+] Building 3.6s (12/12) FINISHED                                                                                                                                                                                                                                             docker:default
 => [internal] load .dockerignore                                                                                                                                                                                                                                                        0.0s
 => => transferring context: 2B                                                                                                                                                                                                                                                          0.0s
 => [internal] load build definition from Dockerfile                                                                                                                                                                                                                                     0.0s
 => => transferring dockerfile: 753B                                                                                                                                                                                                                                                     0.0s
 => [internal] load metadata for docker.io/library/python:3.10.10-bullseye                                                                                                                                                                                                               0.0s
 => [1/8] FROM docker.io/library/python:3.10.10-bullseye                                                                                                                                                                                                                                 0.0s
 => [internal] load build context                                                                                                                                                                                                                                                        0.5s
 => => transferring context: 3.18MB                                                                                                                                                                                                                                                      0.5s
 => CACHED [2/8] RUN . /etc/os-release && cat > /etc/apt/sources.list <<EOF                                                                                                                                                                                                              0.0s
 => CACHED [3/8] RUN apt-get update                                                                                                                                                                                                                                                      0.0s
 => CACHED [4/8] RUN apt-get install -y vim                                                                                                                                                                                                                                              0.0s
 => CACHED [5/8] RUN mkdir /code                                                                                                                                                                                                                                                         0.0s
 => [6/8] ADD . /code/                                                                                                                                                                                                                                                                   2.7s
 => [7/8] WORKDIR /code/PyAV                                                                                                                                                                                                                                                             0.0s
 => ERROR [8/8] RUN source scripts/activate.sh && pip install --upgrade -r tests/requirements.txt && ./scripts/build-deps && make                                                                                                                                                        0.3s
------
 > [8/8] RUN source scripts/activate.sh && pip install --upgrade -r tests/requirements.txt && ./scripts/build-deps && make:
0.273 /bin/sh: 1: source: not found
------
Dockerfile:18
--------------------
  16 |     WORKDIR /code/PyAV
  17 |     CMD ["/bin/bash"]
  18 | >>> RUN source scripts/activate.sh && pip install --upgrade -r tests/requirements.txt && ./scripts/build-deps && make
  19 |     
--------------------
ERROR: failed to solve: process "/bin/sh -c source scripts/activate.sh && pip install --upgrade -r tests/requirements.txt && ./scripts/build-deps && make" did not complete successfully: exit code: 127

问题原因

docker build 默认使用 sh,而不是 bash

而 sh 是没有 source 命令的

所以,解决方案就是把 sh 改成 bash

怎么改?加一行 SHELL ["/bin/bash", "-c"]

解决示例

完整的

FROM python:3.10.10-bullseye 
RUN . /etc/os-release && cat > /etc/apt/sources.list <<EOF
    deb http://mirrors.tuna.tsinghua.edu.cn/debian/ ${VERSION_CODENAME} main contrib non-free
    deb http://mirrors.tuna.tsinghua.edu.cn/debian/ ${VERSION_CODENAME}-updates main contrib non-free
    deb http://mirrors.tuna.tsinghua.edu.cn/debian/ ${VERSION_CODENAME}-backports main contrib non-free
    deb http://security.debian.org/debian-security bullseye-security main contrib non-free
EOF
RUN apt-get update
RUN apt-get install -y vim
RUN mkdir /code
ADD . /code/
WORKDIR /code/PyAV
SHELL ["/bin/bash", "-c"]
RUN source scripts/activate.sh && pip install --upgrade -r tests/requirements.txt && ./scripts/build-deps && make

以上就是docker build运行报错source: not found解决分析的详细内容,更多关于docker build报错source: not found的资料请关注脚本之家其它相关文章!

相关文章

  • docker安装opengauss数据库配置过程详解

    docker安装opengauss数据库配置过程详解

    这篇文章主要为大家介绍了docker安装opengauss数据库配置过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Docker compose启动服务遇到的问题小结

    Docker compose启动服务遇到的问题小结

    这篇文章主要介绍了Docker compose启动服务遇到的问题小结,这个是检验我们的docker compose掌握程度,因此里面的镜像没有提前拉取,挂载数据卷的目录也没有提前创建,本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • 如何为Go程序创建一个最小的Docker Image详解

    如何为Go程序创建一个最小的Docker Image详解

    这篇文章主要给大家介绍了关于如何为Go程序创建一个最小的Docker Image的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • 如何通过vs2017的Dockerfile来生成镜像

    如何通过vs2017的Dockerfile来生成镜像

    这篇文章主要为大家详细介绍了如何通过vs2017的Dockerfile来生成镜像,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 利用Docker搭建Nexus私有仓库实现Maven私服

    利用Docker搭建Nexus私有仓库实现Maven私服

    Maven大家应该都比较熟了,我这里就用安卓人狂喜的Gradle来演示一下,在build.gradle中编写脚本即可上传,接下来通过本文给大家介绍下利用Docker搭建Nexus私有仓库实现Maven私服的问题,感兴趣的朋友一起看看吧
    2022-01-01
  • 详解Docker方式实现MySql 主从复制(实践篇)

    详解Docker方式实现MySql 主从复制(实践篇)

    本篇文章主要介绍了详解Docker方式实现MySql 主从复制(实践篇),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Docker的文件系统映射:主机与容器间目录的双向映射详解

    Docker的文件系统映射:主机与容器间目录的双向映射详解

    通过Docker的目录映射功能,实现主机与容器间的数据共享与持久化存储,使用-v或--mount参数在运行时设置主机与容器目录映射,或通过DockerCompose配置文件实现自动化,此功能提升数据管理灵活性和效率
    2024-11-11
  • docker配置openGauss数据库的方法详解

    docker配置openGauss数据库的方法详解

    这篇文章主要介绍了docker配置openGauss数据库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Docker容器/bin/bash start.sh无法找到not found问题解决

    Docker容器/bin/bash start.sh无法找到not found问题解决

    最近在学习联系中遇到一个问题,百度后发现这个需求还是挺常见的,所以下面这篇文章主要给大家介绍了关于Docker容器/bin/bash start.sh无法找到not found问题的解决方法,需要的朋友可以参考下
    2022-08-08
  • Docker如何保存对容器的修改问题

    Docker如何保存对容器的修改问题

    这篇文章主要介绍了Docker如何保存对容器的修改问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08

最新评论