当前位置: 首页 > 知识库问答 >
问题:

卷装入后运行的Docker入口点

桑坚成
2023-03-14

我的Dockerfile有一个在EntryPoint上运行的脚本。容器计划用我的代码所在的卷挂载运行,一旦容器用卷挂载运行,它需要运行几个命令。

FROM my-container
WORKDIR /my-mount-dir

ADD startup-script.sh /root/startup-script.sh
ENTRYPOINT ["/root/startup-script.sh"]

docker run-itd-v/home/user/directory:/my-mount-dir build-container

注意:startup-script.sh包含应该在挂载的目录文件上运行的命令。

共有1个答案

唐法
2023-03-14

我不确定这是否是您想要的解决方案,但我一直在使用这个run命令,它使用cat命令将我的script.sh提供给容器:

docker run -it --name=some_name --rm \
  -v "host/path:/path/inside/container" \
  image_name \
  /bin/bash  -c "$(cat ./script.sh)"

在本例中,脚本在挂载完成后运行。我确信这一点,因为我在脚本中使用了挂载卷中的文件。

 类似资料:
  • 我正在运行一个Jenkins集群,其中主集群和从集群都作为Docker容器运行。 主机是在MacOS上运行的最新boot2docker VM。 为了让Jenkins能够使用Docker执行部署,我安装了Docker。从主机到Jenkins容器的sock和docker客户端,如下所示:- 我在将卷安装到在Jenkins容器内运行的Docker容器时面临问题。例如,如果我需要在Jenkins容器中运行

  • 我在Windows上安装了支持WSL2的Docker Desktop。一切按预期进行。当我使用卷挂载运行容器时,我可以访问该文件夹中的所有windows文件。 不幸的是,docker中的windows共享的性能并不是很好,所以我尝试从wsl机器挂载一条路径。 但是使用的输出只是,而使用的输出是我的主目录。 有人能给我解释一下当我从Windows运行时,这个目录(物理上/在wsl/我的计算机中)在哪

  • 我有以下DockerFile: 这是什么意思:switch的值丢失了,我如何运行它?谢谢你的帮助 更新 请参阅此处:docker ASP.NET核心容器在mysql容器之后启动以获取更多信息。很抱歉有类似的第二个线程。请删除此线程

  • 问题内容: Docker对我来说在Mac上运行良好,但是我必须在VirtualBox(或Parallels或VMWare Fusion)中运行docker主机,因为Mac的内核不支持docker。 所以我尝试在Ubuntu桌面上设置应用程序和docker-compose- 本机地,其中docker客户端和docker主机都物理上运行在同一系统上。这可行,但是我正在运行的Docker容器无法写入已安

  • 如果您使用Docker来运行linkerd,那幺就不需要从GitHub中pull如上一节所述二进制发行包。取而代之的是,Buoyant为您提供以下公共Docker镜像: BUOYANTIO/LINKERD:1.1.3 BUOYANTIO/NAMERD:1.1.3 标签 这两个库都具有每个镜像的所有稳定版本的标签。要查看发行列表和相关改动,请访问 linkerd GitHub release 页面。