运行 mysql:5.5 docker 图片来自 ansible

run mysql:5.5 docker image from ansible

如何从 ansible 运行 mysql: 5.5?如果我直接运行它:

docker run -e MYSQL_ROOT_PASSWORD=pass mysql:5.5

工作正常。但是如果我从 ansible 运行:

- name: run database
  local_action:
    module: docker
    image: mysql:5.5
    state: running

它开始并立即停止。另外 post 在情况 1 中是 3306/tcp,但在情况 2 中没有端口。

您需要指定 mysql root 密码作为容器的环境变量。例如:


- hosts: ansible_host
  gather_facts: False
  sudo: yes
  pre_tasks:
    - name: install pip pkg.
      yum:
        name: python-pip
        state: present

    - name: install boto pkg.
      pip:
        name: docker-py
        state: present

    - name: docker
      docker:
        image: "mysql:5.5"
        state: running
        env: "MYSQL_ROOT_PASSWORD=my-secret-pw"