如何使用 jenkins 的远程 docker 服务器?
How to use a remote docker server from jenkins?
我有 2 台服务器,1 台 Linux 2 台带有 Jenkins 运行 的 AMI 和一台带有 Docker 运行.
的 RHEL
我想配置 Jenkins 以便在 Docker 服务器上构建和部署应用程序。如果我在 Docker 服务器上克隆我的存储库,我是 运行 docker-compose build 然后 docker-compose up 并且一切正常。
我找到了一些关于在 jenkins 中使用远程 docker 服务器的文档,但它不起作用。 Docker API 已经打开。
严格来说,您可以连接到远程 Docker 守护进程,方法是启用 Remote API over TCP and using the docker client by setting the DOCKER_HOST
environment variable. I would also suggest you configure encryption and authentication 以具有额外的安全层,并且如果您可以将其限制为只能从您的 Jenkins Slaves 访问。
但正如 David Maze 的评论所述,我认为这不是部署容器的最佳方法,因为它会带来一些安全风险,可能会危及您的服务器。
我建议,如果您计划 运行 生产工作负载,并且您需要一个完整的管道来管理容器上应用程序 运行 的生命周期,您可以研究 Docker Swarm or Kubernetes 作为它们是更适合实现这一目标的替代方案。
我有 2 台服务器,1 台 Linux 2 台带有 Jenkins 运行 的 AMI 和一台带有 Docker 运行.
的 RHEL我想配置 Jenkins 以便在 Docker 服务器上构建和部署应用程序。如果我在 Docker 服务器上克隆我的存储库,我是 运行 docker-compose build 然后 docker-compose up 并且一切正常。
我找到了一些关于在 jenkins 中使用远程 docker 服务器的文档,但它不起作用。 Docker API 已经打开。
严格来说,您可以连接到远程 Docker 守护进程,方法是启用 Remote API over TCP and using the docker client by setting the DOCKER_HOST
environment variable. I would also suggest you configure encryption and authentication 以具有额外的安全层,并且如果您可以将其限制为只能从您的 Jenkins Slaves 访问。
但正如 David Maze 的评论所述,我认为这不是部署容器的最佳方法,因为它会带来一些安全风险,可能会危及您的服务器。
我建议,如果您计划 运行 生产工作负载,并且您需要一个完整的管道来管理容器上应用程序 运行 的生命周期,您可以研究 Docker Swarm or Kubernetes 作为它们是更适合实现这一目标的替代方案。