dockerfile怎么执行 source命令
时间: 2023-06-12 09:06:07 浏览: 182
在Dockerfile中,可以使用`RUN`命令来执行source命令。但是,由于`source`命令在Bash shell中运行,因此需要在Dockerfile中指定Bash shell。
下面是一个示例Dockerfile,其中执行了source命令:
```
FROM ubuntu:latest
RUN apt-get update && apt-get install -y \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
RUN apt-get install -y nodejs
RUN mkdir /myapp
WORKDIR /myapp
COPY . .
RUN npm install
RUN /bin/bash -c "source /myapp/my_script.sh"
CMD ["npm", "start"]
```
在该示例中,我们在Ubuntu镜像上安装了curl和git,然后使用curl安装了Node.js。然后,我们在/myapp目录下创建了一个名为my_script.sh的脚本,并使用source命令来运行它。最后,我们使用npm start命令来启动应用程序。
请注意,我们在使用source命令时使用了/bin/bash -c选项来指定Bash shell。这是因为默认情况下,Docker在运行`RUN`命令时使用的是`/bin/sh` shell,而不是Bash shell。
阅读全文