在主机上运行docker命令

时间:2019-05-19 10:15:32

标签: docker jenkins docker-container

我可以在主机上运行docker命令吗?我在自己的Docker容器中安装了aws,现在可以以某种方式在主机上使用aws命令了(在幕后将使用docker容器的aws)?

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

1 个答案:

答案 0 :(得分:1)

您不能直接执行此操作。 Docker容器和映像具有隔离的文件系统,并且主机和容器无法直接访问彼此的文件系统和二进制文件。

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

#!/bin/sh
exec docker run --rm -it awscli aws "$@"

但是这不能很好地扩展,需要您在主机上具有根级权限,并且您将无法访问主机上的文件(例如~/.aws/config)或环境变量(例如{ {1}}),并进行其他设置。

您可以直接在主机上安装软件,它将正常运行。不需要绝对将Docker用于所有内容。