dockermysql+ansible

编程

需求: 本地化部署一个mysql服务,重启自动启动

  • mysql 服务
  • 重启服务自己启动

方案

  • 方案一: 本地安装后,service 服务托管
  • 方案二: ansible + docker

重复的事情只做一次的策略,使用ansible + docker

docker run

  • -d: 后台运行
  • --restart=always: 满足服务重启

docker restart

  • docker run参考
  • restart 参数详解

参数

  • no – 容器退出时不要自动重启。这个是默认值。
  • on-failure[:max-retries] – 只在容器以非0状态码退出时重启。可选的,可以退出docker daemon尝试重启容器的次数。
  • always – 不管退出状态码是什么始终重启容器。当指定always时,docker daemon将无限次数地重启容器。容器也会在daemon启动时尝试重启,不管容器当时的状态如何。
  • unless-stopped – 不管退出状态码是什么始终重启容器,不过当daemon启动时,如果容器之前已经为停止状态,不要尝试启动它。

ansible-roles-task-main.yml

  • 官方镜像
  • 常用db之docker-compose

- name: "create db_mysql dir"

file:

path: "{{ db_mysql_root_path }}/{{ item }}"

state: directory

with_items:

- config

- data

- logs

- tar

tags:

- dir

- name: "start mysql docker"

docker_container:

detach: True

image: "{{ db_mysql_images }}"

log_driver: json-file

log_options: {"max-size": "100m", "max-file": "3"}

name: "{{ db_mysql_name }}"

network_mode: host

# published_ports:

# - "{{ registry_port }}:5000"

recreate: yes

restart: yes

restart_policy: unless-stopped

state: started

env:

MYSQL_ROOT_PASSWORD: "yourpassworld"

volumes:

- "{{db_mysql_data}}:/var/lib/mysql"

tags:

- run

以上是 dockermysql+ansible 的全部内容, 来源链接: utcz.com/z/516875.html

回到顶部