如何用外部脚本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