首页 文章

Ansible可以远程部署Docker容器吗?

提问于
浏览
0

我知道Ansible用于自动配置/配置远程服务器,通常是通过SSH .

但是,这份文件说明..

http://docs.ansible.com/ansible/intro_inventory.html#non-ssh-connection-types

docker - 此连接器使用本地Docker客户端将playbook直接部署到Docker容器中 .

我的问题是...... Ansible可以在远程机器上创建和提供Docker容器,还是只在运行Ansible的机器上(即控制器机器)?

任何提示或任何良好的链接非常感谢 .

3 回答

  • 2

    希望我能正确理解你的问题 .

    任何具有docker客户端或API库(EG:docker-py),网络访问并且配置正确的计算机都可以远程操作docker守护程序 .

    为此,you must configure the docker daemon to listen remotely. WARNING: by default it is insecure with no authentication! Make sure to set up SSL with cert authentication .

    之后,您可以安装docker客户端(或库)和相关证书 . 如果您使用的是客户端,则需要在Vagrant上设置环境变量 . 那些变量是:

    DOCKER_HOST=docker_host:docker_port
    DOCKER_TLS_VERIFY=true
    

    您应该使用以下名称约定将证书放在 ~/.docker 中: ca.pem cert.pem key.pem

    此时,您的vagrant虚拟可以操作远程docker主机 .

  • 1

    当然,它可以在远程机器上部署容器 . 有several modules for Docker,但你要求docker_container

    ---
    - hosts: docker_host
      tasks:
        - name: Ensure web based hello world container is running
          docker_container:
            name: web_hello_world
            image: tutum/hello-world
            ports:
              - 80:80
    

    如果要构建Docker镜像,还可以查看docker_image .


    您在问题中引用的Docker连接类型用于直接连接到Docker容器(并在容器内运行任务),而不是连接到运行容器的计算机 . 因此,除非您在容器内运行Docker,否则此类连接不会用于部署Docker容器 .

    即便如此,报价指的是“本地Docker客户端”,而不是本地Docker引擎 .

  • 1

    我正在努力 . 如果要检查项目:https://github.com/ppc64le/ciaas

    我使用docker_service module它运行正常 .

相关问题