在主机上运行docker命令

在主机上运行docker命令,docker,jenkins,docker-container,Docker,Jenkins,Docker Container,我可以在主机上运行docker命令吗?我在docker容器内安装了aws,现在我可以在主机上使用aws命令(引擎盖下将使用docker容器的aws) 我的情况是这样的:我在生产主机上有数据库备份。现在我有了Jenkins cron作业,它将从db容器中获取sql文件并将其放入服务器文件夹。现在我也希望jenkins将此备份文件上传到AWS存储上,但在主机上我没有安装AWS,而且我不想在主机上安装除docker之外的任何东西,所以我认为AWS应该安装在容器内。您不能直接这样做。Docker容器和映

我可以在主机上运行docker命令吗?我在docker容器内安装了
aws
,现在我可以在主机上使用
aws
命令(引擎盖下将使用docker容器的aws)


我的情况是这样的:我在生产主机上有数据库备份。现在我有了Jenkins cron作业,它将从db容器中获取sql文件并将其放入服务器文件夹。现在我也希望jenkins将此备份文件上传到AWS存储上,但在主机上我没有安装AWS,而且我不想在主机上安装除docker之外的任何东西,所以我认为AWS应该安装在容器内。

您不能直接这样做。Docker容器和映像具有独立的文件系统,主机和容器不能直接访问彼此的文件系统和二进制文件

理论上,您可以编写一个shell脚本来包装
docker run
,将其命名为
aws
,并将其放入
$PATH

#!/bin/sh
exec docker run --rm -it awscli aws "$@"
但这不能很好地扩展,需要您在主机上具有根级别的权限,并且您将无法通过附加设置访问主机上的文件(如
~/.aws/config
)或环境变量(如
$aws\u access\u KEY\u ID

您只需在主机上安装软件即可,它将正常工作。没有任何要求绝对使用Docker