如何用外部脚本testingdocker镜像

假设我有一个代码回购。 该代码回购中有以下文件:

  • Dockerfile
  • test.sh

可以说我现在从Dockerfile构build一个docker镜像

docker build -t my-image . 

现在我想在容器中的my-image的上下文中执行test.sh,但是在构build期间我没有在docker镜像中添加test.sh。

如何运行docker镜像并在其中执行test.sh? 我是否必须首先按批量装入回购,还是有更快的方法?

几个选项:

  • 把它复制到( docker cp test.sh <container_id>:<path_file_should_go_inside> ) – 但是你必须把这个文件作为一个单独的步骤运行
  • 将它装入( docker run -v $(pwd)/test.sh:<path_file_should_go_inside> my-image <path_file_should_go_inside>

如果test.sh不是映像的一部分,则必须将本地存储库作为卷装入。

 docker run -v /path/to/local/repo:/tmp my-image /tmp/test.sh