[英]executing commands in containers from within a container using docker-compose up vs docker-compose run
[英]Run Commands/Scripts as Different User from within Docker Container
首先,我知道这可能不是问题的最“容器化”解决方案。 不过,在这一点上,我想知道我是否必须放弃目前的工作,或者是否可以进行这项工作。
我需要在服务器之间移动文件并备份它们。 我目前有一个脚本可以做到这一点。 我运行此脚本的用户具有所有服务器的密钥,因此该脚本在服务器之间进行rsync同步是没有问题的。
我现在正在创建一个Web服务,用户可以Ping安全地移动其文件并进行备份。 这样可以避免他们与我联系以运行脚本,并且以后可以与某些工作流程软件集成。
但是,我的docker容器捕获到Web服务的http请求时,不会在任何地方都有密钥,因此无法成功运行脚本。 我正在寻找一种解决方案,使我可以运行此脚本,同时还具有用户可以向其发出请求的Web服务。 我最初的希望是该路由基本上传递args并运行脚本。
我不知道以下想法的可行性,但这是我到目前为止的两个想法。
有人会对上述方法或对该问题的可能解决方案有任何建议吗?
随时问更多问题,因为我知道这是一个奇怪的问题。 在此先感谢您的帮助!
如果我们要通过SSH手动运行传输,我们将无法避免某些东西需要密钥的事实。 类似于“在启动时将docker密钥提供给任何地方”,我们可以将密钥作为卷绑定安装到容器中:
$ docker run -d -v /host/path/to/keys:/container/path/to/keys:ro image command ...
这使容器对主机上的密钥具有只读访问权限。 它还使我们可以在需要时更新主机上的密钥,而无需重新启动容器。
我们可以通过将密钥存储在专用机密存储服务中来实现此目的,并且容器可以在需要时获取密钥,但是对于这个简单的用例,我认为不需要构建比必要的复杂性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.