Docker ENTRYPOINT在卷装载后运行
我的Dockerfile有一个脚本在入口点上运行。 容器计划在我的代码所在的卷装上运行,一旦容器装上卷,它就需要运行几个命令。
但是,从运行容器时得到的错误,我相信Docker卷挂载发生在ENTRYPOINT脚本之后。
一旦容器启动,我确定可以使用docker exec选项运行命令。 但是这使得更多的运行命令行。 是否有任何解决方法,甚至通过使用docker撰写?
Dockerfile:
FROM my-container WORKDIR /my-mount-dir ADD startup-script.sh /root/startup-script.sh ENTRYPOINT ["/root/startup-script.sh"]
docker运行:
docker run -itd -v / home / user / directory:/ my-mount-dir build-container
注意: startup-script.sh包含应该在挂载的目录文件上运行的命令。
我不知道这是否是你想要的解决scheme,但我一直在使用这个运行命令,它使用cat命令来提供我的script.sh
到容器:
docker run -it --name=some_name --rm \ -v "host/path:/path/inside/container" \ image_name \ /bin/bash -c "$(cat ./script.sh)"
在这种情况下,脚本在安装完成后运行。 我确信这是因为我已经使用脚本中已装入卷的文件。
- 如何使用ES Docker镜像部署由多个主机组成的Elastic Search群集?
- Docker卷与Visual Studio
- Docker tomcat通过dockerfile编辑configuration文件
- 具有发布的端口的Docker容器不能从外部访问
- 当连接来自docker容器时,PhpStorm xdebug无法find文件
- 这个docker服务是否暴露在互联网上?
- 如何修复我的docker-compose.yml我得到一个rabbitmq.config是一个目录错误?
- Docker与rake资源组合 – 构build – 预编译
- Docker – 启动phpunittesting套件最简单的方法是什么?