在Dockerfile中使用和“Source”的Run指令不起作用?

报错误 /bin/sh: 1: source: not found

sh不支持source

bash支持source

RUN rm /bin/sh && ln -s /bin/bash /bin/sh

RUN /bin/bash -c "source /usr/local/bin/virtualenvwrapper.sh"

对于环境变量文件/etc/profile不起作用

原文地址:https://www.cnblogs.com/lgj8/p/12255568.html

时间: 2024-10-18 15:00:02

在Dockerfile中使用和“Source”的Run指令不起作用?的相关文章

Dockerfile中最常用的指令

FROM 指定 base 镜像. MAINTAINER 设置镜像的作者,可以是任意字符串. COPY 将文件从 build context 复制到镜像. COPY 支持两种形式: COPY src dest COPY ["src", "dest"] 注意:src 只能指定 build context 中的文件或目录. ADD 与 COPY 类似,从 build context 复制文件到镜像.不同的是,如果 src 是归档文件(tar, zip, tgz, xz 等

Dockerfile中CMD命令和ENTRYPOINT 命令的说明

首先说明下RUN.CMD.ENTRYPOINT 等命令都可以用来执行命令,但是各有不同的特点 RUN 在Build Image的时候执行. CMD ENTRYPOINT 在运行Image时执行. CMD 可以和ENTRYPOINT 搭配使用,也可以单个命令使用.当CMD 和ENTRYPOINT都出现在一个DockerFile中时,CMD中设置的信息(EXEC格式的)都以参数的形式提供给ENTRYPOINT命令.EntryPoint 命令没有设置时,默认是/bin/bash ENTRYPOINT的

Dockerfile中的COPY和ADD指令详解与比较

Dockerfile中的COPY指令和ADD指令都可以将主机上的资源复制或加入到容器镜像中,都是在构建镜像的过程中完成的. COPY指令和ADD指令的唯一区别在于是否支持从远程URL获取资源.COPY指令只能从执行docker build所在的主机上读取资源并复制到镜像中.而ADD指令还支持通过URL从远程服务器读取资源并复制到镜像中. 满足同等功能的情况下,推荐使用COPY指令.ADD指令更擅长读取本地tar文件并解压缩. 1. COPY指令 COPY指令能够将构建命令所在的主机本地的文件或目

Dockerfile中ENTRYPOINT 和 CMD的区别

CMD 指令 ENTRYPOINT 指令 两者联合使用技巧 在Docker的系统学习教程中我们了解到使用Dockerfile构建Docker镜像为一个规范的方式,根据Dockerfile可以了解镜像中安装的组件的详细内容.Dockerfile一般由四部分组成:第一,构建的基础镜像:第二,镜像构建者的信息:第三,构建镜像过程中镜像层添加指令:第四,由该镜像启动容器时执行的程序.本篇文章中涉及到的ENTRYPOINT 和CMD 属于Dockerfile中的最后一部分,这两个Dockerfile指令是

Dockerfile 中的 CMD 与 ENTRYPOINT

原文:Dockerfile 中的 CMD 与 ENTRYPOINT CMD 和 ENTRYPOINT 指令都是用来指定容器启动时运行的命令.单从功能上来看,这两个命令几乎是重复的.单独使用其中的一个就可以实现绝大多数的用例.但是既然 doker 同时提供了它们,为了在使用中不至于混淆,本文试图把它们的用法理清楚. exec 模式和 shell 模式 CMD 和 ENTRYPOINT 指令都支持 exec 模式和 shell 模式的写法,所以要理解 CMD 和 ENTRYPOINT 指令的用法,就

Dockerfile中echo使用

Dockerfile 中的echo的使用方式和bash中的使用方式是有区别的 下面是一个 Dockerfile 通过echo的方式更换apt-get源和pip源 FROM python:3.5.8-stretch # 更新缓存 RUN echo 'deb http://mirrors.aliyun.com/debian stretch main contrib non-free\ndeb http://mirrors.aliyun.com/debian stretch-proposed-upda

Xcode中怎么引用Source Trees定义路径里的头文件

做的项目中需要引用Source Trees定义路径里的头文件,刚开始没有头绪,稍加思索发现太简单了. 此Source Trees非彼Source Tree,是Xcode"偏好设置"中的一个选项,见下图: 以上面的"QUICK_COCOS2DX_ROOT"一项为例,我遇到的问题是想在工程中引用这个路径下include文件夹里的头文件. 一般情况下如果想把某个文件夹中的头文件加入到工程中,可以在Build Setting中的Hearder Search Path里添加形

tomcat启动提示server.xml的context节点中不支持source属性警告的解决方法

Tomcat启动时提示: 2011-4-17 0:33:27 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:Epai-0.1' did not find a matching property. [

Dockerfile中COPY命令的简单性

dockerfile中的COPY命令是不会拷贝目录结构的,它只会单纯把包含的所有文件拷贝到另一个目录中去. 相关链接:https://www.cnblogs.com/sparkdev/p/9573248.html 原文地址:https://www.cnblogs.com/immortalBlog/p/10711897.html