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中没有被使用的数据卷volume

    删除docker中没有被使用的数据卷volume

    发现docker占用宿主机的磁盘空间很大,这个时候如何来释放这些数据卷占用的空间呢,通过执行相关命令即可顺利解决,下面小编给大家介绍下删除docker中没有被使用的数据卷volume,感兴趣的朋友跟随小编一起看看吧
    2023-01-01
  • 聊聊使用docker安装nginx提供web服务的问题

    聊聊使用docker安装nginx提供web服务的问题

    这篇文章主要介绍了使用docker安装nginx提供web服务,docker pull nginx命令用于拉取最新版本的nginx镜像,需要的朋友可以参考下
    2022-04-04
  • Docker 部署 Minio 对象存储服务器的过程详解

    Docker 部署 Minio 对象存储服务器的过程详解

    Minio是一个轻量级的应用程序,可以在各种环境中运行,包括公共云、私有云和混合云,这篇文章主要介绍了Docker 部署 Minio 对象存储服务器的过程详解,需要的朋友可以参考下
    2024-07-07
  • Docker部署Laravel应用的实现示例

    Docker部署Laravel应用的实现示例

    这篇文章主要介绍了Docker部署Laravel应用的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • docker中使用GPU+rocksdb的详细教程

    docker中使用GPU+rocksdb的详细教程

    这篇文章主要介绍了docker中使用GPU+rocksdb,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-10-10
  • 借助Docker搭建JMeter+Grafana+Influxdb监控平台的详细教程

    借助Docker搭建JMeter+Grafana+Influxdb监控平台的详细教程

    这篇文章主要介绍了借助Docker搭建JMeter+Grafana+Influxdb监控平台,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • ubuntu如何在docker容器中安装strongswan

    ubuntu如何在docker容器中安装strongswan

    这篇文章主要介绍了ubuntu如何在docker容器中安装strongswan,起动一个ubuntu容器,我是用的docker compose启动的,compose的配置文件为ipsec-strongswan.yml,感兴趣的朋友跟随小编一起看看吧
    2024-04-04
  • 在Ubuntu中安装Docker教程

    在Ubuntu中安装Docker教程

    这篇文章主要介绍了在Ubuntu中安装Docker教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • 基于Docker搭建Redis一主两从三哨兵的实现

    基于Docker搭建Redis一主两从三哨兵的实现

    这篇文章主要介绍了基于Docker搭建Redis一主两从三哨兵的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Next.js Docker镜像私有部署从零实现

    Next.js Docker镜像私有部署从零实现

    这篇文章主要为大家介绍了Next.js Docker镜像私有部署从零实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12

最新评论