使用Docker-compose部署mysql

news/2024/6/3 18:07:41 标签: docker, mysql, 容器

前言

虽然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
注意docker-compose.yml 第8行设置mysql root 账号登录的密码,这里的 password 修改为自己需要的密码即可。

4. 启动

docker-compose up -d

总结

即使之后宿主机重启了,只要到docker-compose.yml文件所在的位置,执行docker-compose up -d命令就可以启动容器了,事实上如果docker-compose.yml文件中配置了容器的重启策略为always,那么每次重启docker时都会重启相关的容器,即不需要执行docker-compose up -d命令也会自动重启mysql容器


http://www.niftyadmin.cn/n/95075.html

相关文章

苹果设计可变色Apple Watch表带,智能穿戴玩法多

苹果最新技术专利显示,苹果正在为 Apple Watch 设计一款可变色的表带,可以根据佩戴者所穿着的服装、所在的环境等自动改变颜色。据介绍,这款表带里的灯丝具有电致变色功能,可以通过施加不同的电压,来实现显示多种颜色或…

用kinectv2运行orbslam2

前提 vim 、 cmake 、 git 、 gcc 、 g 这些一般都装了 主要是Pangolin 、 OpenCV 、 Eigen的安装 18.04建议Pangolin0.5 orbslam2安装、测试: git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2 cd ORB_SLAM2 chmod x build.sh ./build.sh 编译…

关于用windows开发遇到的各种乌龙事件之node版本管理---nvm install node之后 npm 找不到的问题

友情提醒,开发最好用nvm控制node版本 nrm 控制镜像源,能少掉很多头发开发过程中技术迭代更新的时候最要老命的就是 历史项目的node版本没有记录,导致开启旧项目的时候就会报错。尤其是npm 升级到8.x.x以后,各种版本不兼容。 真…

MapReduce(未完待续。。。)

一、MR概述 MapReduce是一个分布式运算的框架。优点:易于编程、扩展性良好、容错性高、适合上千台服务器集群并发工作。1、优点:易于编程、易扩展、高容错,适合PB级以上。 缺点:不擅长实时、流式、DAG计算 2、过程:…

QT入门Containers之QStackedWidget

目录 一、QStackedWidget界面相关 1、布局介绍 2、插入界面 3、插入类界面 二、Demo展示 此文为作者原创,创作不易,转载请标明出处! 一、QStackedWidget界面相关 1、布局介绍 QStackedWidget这个控件在界面布局时,使用还…

Python-生成元组和字典

1.生成元组元组是元素按顺序组合后的产物,元组对象的类型是tuple型含有两个元素的元组成为数据对元组可以包含任意数量和任意类型的元素,其元素总数可以为0、1、2等,并且元素的先后顺序是由意义的。另外,元组中的元素类型没有必要…

量子力学(2.5) 生肉

uin tux Schrodinger Citon: ih dΨ/dt-h^2/2m d2/(dx2 ) ΨV(x,t)Ψ inim Ψ tuicon x hor t. sit fe moicon t, uin som’e ψ. Schrodinger Citon moicon t clre cuu: Eψ-h^2/2m d2/(dx2 ) ψV(x)ψ inim E bid de Kitn da de Dawses. bojs p-ih d/dx, uin poc dy als e: E…

Spring MVC 源码- HandlerAdapter 组件(三)之 HandlerMethodArgumentResolver

HandlerAdapter 组件HandlerAdapter 组件,处理器的适配器。因为处理器 handler 的类型是 Object 类型,需要有一个调用者来实现 handler 是怎么被执行。Spring 中的处理器的实现多变,比如用户的处理器可以实现 Controller 接口或者 HttpReques…