在运行脚本的docker容器之外访问bash脚本变量

时间:2019-09-30 08:21:46

标签: bash shell docker

我在docker容器中运行了一个bash脚本。在此脚本中,我设置了一些变量的值。

我可以以某种方式在容器外部访问此变量的值吗?

我试图将变量设置为“ global”,但无法弄清楚该怎么做。将所需变量设置为容器内的环境变量是一个好主意吗?

如何复制

创建一个名为temp.sh的bash脚本,其内容如下:

a=$RANDOM

现在,按如下所示在docker容器中运行此文件:

 docker run -it --rm -v $(pwd):/opt alpine sh -c "sh /opt/temp.sh"

期望的行为:为了能够在Docker容器外部访问变量a

1 个答案:

答案 0 :(得分:2)

信用:This comment by Mark

  1. 我使用
  2. 在docker文件系统上安装了目录

docker run -v <host-file-system-directory>:<docker-file-system-directory>

  1. 在bash脚本中,我添加了 echo "$variable" >docker-file-system-directory/variable.txt

  2. 在docker文件系统上安装了主机文件系统目录后,我仍然可以使用variable.txt

  3. 来访问cat <host-file-system-directory>/variable.txt

请注意, docker-file-system-directory 必须是绝对路径,而不是相对路径。