前言
虽然docker部署环境比自己下载安装包要方便不少,但是docker的命令还有挂载目录在每次启动容器的时候都去找命令对使用者是很不友好的,而且有时候要启动多个容器的时候显然一个个的启动是很麻烦的。所以如果可以事先将”启动脚本”写好的话,之后就算虚拟机重启了,再启动容器也就是执行”启动脚本”就好了,docker-compose很好的解决了这个问题。
一、docker-compose简介
个人理解:容器编排工具,对于大多数人来说可能最大的作用是被当成启动容器的脚本了。它可以实现一次性启动多个容器,它的自动重启容器策略也很好用。
二、部署步骤
1. 在/root 目录下新建目录docker-compose,在/root/docker-compose目录下新建mysql文件件
?
1
2
3
cd /root
mkdir docker-compose && cd docker-compose
mkdir mysql && cd mysql
2 准备挂载文件
(如果不需要修改配置文件此步可跳过,然后docker-compose.yml文件挂载时删除配置文件的挂载)
在 /root/docker-compose/mysql 文件夹下新建config文件夹,在conf文件下新建my.cnf 文件
?
1
2
mkdir config && cd config
vim my.cnf
将下面的配置文件复制到 my.cnf中
?
1
2
3
4
5
6
7
8
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
3.编写docker-compose.yml文件
在/root/docker-compose/mysql文件夹下新建docker-compose.yml文件,
?
1
2
cd /root/docker-compose/mysql
vim docker-compose.yml
加下面内容复制到 docker-compose.yml 中
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
version: 3
services:
mysql:
image: mysql
restart: always
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: password
TZ: Asia/Shanghai
ports:
– 3306:3306
volumes:
– /root/docker-compose/mysql/data:/var/lib/mysql
– /root/docker-compose/mysql/config/my.cnf:/etc/mysql/my.cnf
command:
–max_connections=1000
–character-set-server=utf8mb4
–collation-server=utf8mb4_general_ci
–default-authentication-plugin=mysql_native_password
4. 启动
总结
即使之后宿主机重启了,只要到docker-compose.yml文件所在的位置,执行docker-compose up -d命令就可以启动容器了,事实上如果docker-compose.yml文件中配置了容器的重启策略为always,那么每次重启docker时都会重启相关的容器,即不需要执行docker-compose up -d命令也会自动重启mysql容器。
到此这篇关于使用docker-compose部署mysql的文章就介绍到这了,更多相关docker-compose部署mysql内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/weixin_43997548/article/details/122693332
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。