当前位置:网站首页>docker-compose部署mysql
docker-compose部署mysql
2022-08-03 05:30:00 【m0_67402235】
docker-compose部署mysql
docker-compose
文章目录
前言
虽然docker部署环境比自己下载安装包要方便不少,但是docker的命令还有挂载目录在每次启动容器的时候都去找命令对使用者是很不友好的,而且有时候要启动多个容器的时候显然一个个的启动是很麻烦的。所以如果可以事先将"启动脚本"写好的话,之后就算虚拟机重启了,再启动容器也就是执行"启动脚本"就好了,docker-compose很好的解决了这个问题。
一、docker-compose简介
个人理解:容器编排工具,对于大多数人来说可能最大的作用是被当成启动容器的脚本了。它可以实现一次性启动多个容器,它的自动重启容器策略也很好用。
二、部署步骤
1. 在/root 目录下新建目录docker-compose,在/root/docker-compose目录下新建mysql文件件
cd /root
mkdir docker-compose && cd docker-compose
mkdir mysql && cd mysql
2 准备挂载文件
(如果不需要修改配置文件此步可跳过,然后docker-compose.yml文件挂载时删除配置文件的挂载)
在 /root/docker-compose/mysql 文件夹下新建config文件夹,在conf文件下新建my.cnf 文件
mkdir config && cd config
vim my.cnf
将下面的配置文件复制到 my.cnf中
[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文件,
cd /root/docker-compose/mysql
vim docker-compose.yml
加下面内容复制到 docker-compose.yml 中
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 up -d
总结
即使之后宿主机重启了,只要到docker-compose.yml文件所在的位置,执行docker-compose up -d命令就可以启动容器了,事实上如果docker-compose.yml文件中配置了容器的重启策略为always,那么每次重启docker时都会重启相关的容器,即不需要执行docker-compose up -d命令也会自动重启mysql容器。
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
随机推荐
Composer require 报错 Installation failed, reverting ./composer.json and ./composer.lock to their ...
MySQL之concat的用法
pyspark --- 空串替换为None
界面仅允许扫码枪录入禁止手工键盘输入
【IoU loss】IoU损失函数理解
UniApp scroll-view 事件不生效(@scroll、@scrolltolower、@scrolltoupper ...)
【EA Price strategy OC1】以实时价格为依据的EA,首月翻仓!】
Chrome插件开发入门
沉铜/黑孔/黑影工艺,PCB该 Pick 哪一种?
empty() received an invalid combination of arguments - got (tuple, dtype=NoneType, device=NoneType),
Oracle Common Commands - Basic Commands
在Zabbix5.4上使用ODBC监控Oracle数据库
SQL——左连接(Left join)、右连接(Right join)、内连接(Inner join)
Redis的应用详解
mysql 时间字段默认设置为当前时间
pyspark @udf 循环使用变量问题
异常检测 IsolationForest 返回概率
计算机网络高频面试考点
Migration of BOA Server
Charles抓包显示<unknown>解决方案