首页 > 解决方案 > 在 Dockerfile 中使用 linux source 命令会出错

问题描述

我下载并安装Go这样的编程语言:

curl -OL https://golang.org/dl/go1.17.3.linux-amd64.tar.gz
tar -C /usr/local -xvf go1.17.3.linux-amd64.tar.gz
touch /etc/profile.d/go.sh
echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile.d/go.sh
source /etc/profile.d/go.sh

它有效。但我想创建一个Docker包含 Go 并准备使用的图像。所以我确实喜欢这样Dockerfile

RUN curl -OL https://golang.org/dl/go1.17.3.linux-amd64.tar.gz
RUN tar -C /usr/local -xvf go1.17.3.linux-amd64.tar.gz
RUN touch /etc/profile.d/go.sh
RUN echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile.d/go.sh
RUN source /etc/profile.d/go.sh

但这给了我错误:

 > [25/25] RUN source /etc/profile.d/go.sh:
#28 0.737 /bin/sh: 1: source: not found

我该怎么做?我使用ubuntu 20.04作为基础 Docker 映像

标签: bashdockerubuntudockerfilesh

解决方案


推荐阅读