我可以在主机上运行docker命令吗?我在自己的Docker容器中安装了aws
,现在可以以某种方式在主机上使用aws
命令了(在幕后将使用docker容器的aws)?
我的情况是这样的:我在生产主机上有数据库备份。现在,我有Jenkins cron作业,它将从db容器中获取sql文件,并将其放入服务器文件夹中。现在我还希望jenkins将此备份文件上传到AWS存储上,但是在主机上我没有安装aws,也不想在主机上安装除docker以外的任何东西,因此我认为aws应该安装在容器内。 >
答案 0 :(得分:1)
您不能直接执行此操作。 Docker容器和映像具有隔离的文件系统,并且主机和容器无法直接访问彼此的文件系统和二进制文件。
理论上,您可以编写一个将docker run
包裹起来的shell脚本,将其命名为aws
,然后将其放入您的$PATH
#!/bin/sh
exec docker run --rm -it awscli aws "$@"
但是这不能很好地扩展,需要您在主机上具有根级权限,并且您将无法访问主机上的文件(例如~/.aws/config
)或环境变量(例如{ {1}}),并进行其他设置。
您可以直接在主机上安装软件,它将正常运行。不需要绝对将Docker用于所有内容。