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