docker-compose部署mysql
前言
虽然docker部署环境比自己下载安装包要方便不少,但是docker的命令还有挂载目录在每次启动容器的时候都去找命令对使用者是很不友好的,而且有时候要启动多个容器的时候显然一个个的启动是很麻烦的。所以如果可以事先将"启动脚本"写好的话,之后就算虚拟机重启了,再启动容器也就是执行"启动脚本"就好了,docker-compose很好的解决了这个问题。
一、docker-compose简介
个人理解:容器编排工具,对于大多数人来说可能最大的作用是被当成启动容器的脚本了。它可以实现一次性启动多个容器,它的自动重启容器策略也很好用。
cd /root
mkdir docker-compose && cd docker-compose
mkdir mysql && cd mysql
2 准备挂载文件
1. 在/root 目录下新建目录docker-compose,在/root/docker-compose目录下新建mysql文件件
mkdir config && cd config
vim my.cnf
将下面的配置文件复制到 my.cnf中
3.编写docker-compose.yml文件
在/root/docker-compose/mysql文件夹下新建docker-compose.yml文件
version: '3.4'
services:
mysql:
image: mysql:8.0.18
container_name: mysql
network_mode: bridge
restart: always
tty: true
ports:
- 3306:3306
command:
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
environment:
- MYSQL_ROOT_PASSWORD=root
- LANG=C.UTF-8
configs:
- source: cfg_mysql
target: /etc/mysql/my.cnf
volumes:
- /etc/localtime:/etc/localtime
- ./data:/var/lib/mysql
networks:
default: null
configs:
cfg_mysql:
file: ./mysql.conf
4. 启动
docker-compose up -d
总结
即使之后宿主机重启了,只要到docker-compose.yml文件所在的位置,执行docker-compose up -d命令就可以启动容器了,事实上如果docker-compose.yml文件中配置了容器的重启策略为always,那么每次重启docker时都会重启相关的容器,即不需要执行docker-compose up -d命令也会自动重启mysql容器。
2