Docker在docker上的主机运行脚本 – 组成
感谢您收看这个问题。
所以我的问题涉及如何在docker-up命令上运行脚本的最佳实践。
目前,我在主机和容器之间共享一个卷,以允许脚本更改对主机和容器都可见。 类似于观察脚本轮询configuration文件的更改。
脚本必须根据预定义的规则在主机上进行更改。
所以我的问题是:
我怎么能在docker上创build这个脚本 – 组成up指令,甚至是从服务的dockerfile开始,这样,只要容器上去了,“观察者”就可以find正在写入和写入的任何变化。
有问题的容器将永远运行在debian / ubuntu操作系统上,并且应该独立于架构,这意味着它也应该能够在ARM上运行。
提前致谢
我也想知道,为什么这个问题只是因为有些人不明白而被低估了。
我希望在主机上运行脚本,而不是在容器内部运行。我需要主机更改其networking接口configuration,以便轻松适应任何环境。主机需要更改我重复一次。这应该对用户是无缝的,并且很容易在运行的Web界面上编辑,以适应新的环境。
我目前正在基于crontab的主机上运行脚本。 我只想知道如何在INSIDE CONTAINER上运行HOST脚本的最佳实践和示例,这样安装操作员就可以轻松地运行docker-compose。
谢谢
我只是想知道如何从INSIDE CONTAINER运行HOST上的脚本的最佳实践和示例,以便部署可以像安装运营商一样简单地运行docker-compose
似乎没有可以应用于您的案例的最佳做法。 这里提出了一个解决方法: 如何在Docker容器上的主机上运行shell脚本? 是使用client/server
技巧。
- 主机应运行一个小型服务器(select一个端口并指定一个您应该等待的请求types)
- 容器启动后,应该将这个请求发送到该服务器
- 主机应该运行脚本/触发你想要的更改
这是可能有严重的安全问题,所以使用风险自负。
该脚本需要在前台连续运行。
在您的Dockerfile中,使用CMD指令并将脚本定义为参数。
在使用cli时,使用docker run -d IMAGE SCRIPT
你可以创build一个docker-compose up
的别名docker-compose up
。 在~/.bash_aliases
(Ubuntu)中放入这样的东西:
alias up="docker-compose up; ~/your_script.sh"
我不确定是否可以在主机上运行脚本,但如果可能的话,这是一个严重的安全漏洞。 容器应该被隔离,这就是使用容器的要点。