使用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

注意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容器。

(0)

相关推荐

  • CentOS7—HAProxy安装与配置详解

    概述 Haproxy下载地址:http://pkgs.fedoraproject.org/repo/pkgs/haproxy/ 关闭SElinux.配置防火墙 1.vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq! #保存退出 setenforce 0 #使配置立即生效 2.vi /etc/sysconfig/iptables  #编辑 -A RH-

  • Keepalived+HAProxy实现MySQL高可用负载均衡的配置

     Keepalived 由于在生产环境使用了mysqlcluster,需要实现高可用负载均衡,这里提供了keepalived+haproxy来实现. keepalived主要功能是实现真实机器的故障隔离及负载均衡器间的失败切换.可在第3,4,5层交换.它通过VRRPv2(Virtual Router Redundancy Protocol) stack实现的. Layer3:Keepalived会定期向服务器群中的服务器.发送一个ICMP的数据包(既我们平时用的Ping程序),如果发现某台服务的

  • Nginx实现高可用集群构建(Keepalived+Haproxy+Nginx)

    1.组件及实现的功能 Keepalived:实现对Haproxy服务的高可用,并采用双主模型配置; Haproxy:实现对Nginx的负载均衡和读写分离; Nginx:实现对HTTP请求的高速处理; 2.架构设计图 3.Keepalived部署 在两个节点上都需要执行安装keepalived,命令如下: $ yum -y install keepalived 修改 172.16.25.109 节点上 keepalived.conf 文件配置,命令如下 $ vim /etc/keepalived/

  • docker部署zookeeper集群方式(单主机、多主机)

    目录 1.一台主机上部署zookeeper集群 2.一台主机部署zookeeper集群分析 3.Macvlan网络 4.跨主机环境准备 5.创建macvlan网络 6.docker-compose.yml文件 总结 1.一台主机上部署zookeeper集群 下面这个是官方给出的docker-compose的部署方案(这个是都在一台主机上部署的): version: '3' services: zoo1: image: zookeeper restart: always ports: - 2182

  • linux服务器之LVS、Nginx和HAProxy负载均衡器对比总结

    LVS特点: 1.抗负载能力强,使用IP负载均衡技术,只做分发,所以LVS本身并没有多少流量产生: 2.稳定性.可靠性好,自身有完美的热备方案:(如:LVS+Keepalived) 3.应用范围比较广,可以对所有应用做负载均衡: 4.不支持正则处理,不能做动静分离. 常用四种算法: 1.rr:轮叫,轮流分配到后端服务器: 2.wrr:权重轮叫,根据后端服务器负载情况来分配: 3.lc:最小连接,分配已建立连接最少的服务器上: 4.wlc:权重最小连接,根据后端服务器处理能力来分配. 可以采用ip

  • haproxy+keepalived实现高可用负载均衡(实例配置)

    作者:split_two 环境四台机器都是RedHat4.8(64位)版本: IP地址             用处192.168.5.55       MASTER192.168.2.73       BACKUP192.168.5.54       负载A192.168.5.57       负载B192.168.2.100      VIP 1.MASTER上安装haproxy 复制代码 代码如下: wget http://haproxy.1wt.eu/download/1.3/src/h

  • Docker 部署HAProxy v2.2.29 并暴露指标接口的问题解决

    目录 1.背景 2.目的 3.HAProxy 简介 4.HAProxy 优点 5. HAProxy配置说明 6. 部署脚本 参考资料 1.背景 在haproxy 2.0 版本之前,prometheus 提供了haproxy_exporter 来对HAProxy进行监控,haproxy 从 2.0 版本开始不再需要使用 haproxy_exporter 进行监控,因为 haproxy 提供了原生的 Prometheus 导出功能.也就是说,从 haproxy 2.0 版本开始,可以直接使用 Pro

  • docker部署xxl-job-admin出现数据库拒绝问题及解决方法

    目录 docker部署xxl-job-admin出现数据库拒绝 问题出现: 1.拉取代码: 2.docker部署mysql 3.部署代码: 4.问题出现logs(摘取部分错误): 5.问题的解决思路: 6.总结: 扩展:docker 安装 xxl-job 1.安装mysql 2.安装xxl-job-admin 3.浏览器登录 docker部署xxl-job-admin出现数据库拒绝 笔者能力有限,小白一枚,在遇到问题之后记录问题的解决方式为主要目的,欢迎各位探讨交流. 问题出现: 1.拉取代码:

  • Docker Compose部署Nginx的方法步骤

    使用Docker Compose部署Nginx,创建docker-compose.yaml: [root@192 ~]# vim docker-compose.yaml 输入以下内容: version: '3' services: nginx: container_name: nginx image: nginx restart: always ports: - 8080:80 privileged: true networks: - mynginx networks: mynginx: dri

  • Docker compose部署SpringBoot项目连接MySQL及遇到的坑

    前面使用docker简单部署了下SpringBoot项目并介绍了什么是Dockerfile,如果是镜像比较多的情况下如何一键交付呢?Docker-compose!,理解了Docker-compose后面学习K8s就会好理解一些 一.安装docker-compose 环境Centos7 //下载docker-compose curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-

  • 使用Docker部署MySQL的实现步骤

    目录 1.拉取mysql 2.启动容器镜像 3.登录容器 4.登录mysql 在 [Docker] 下部署,使用命令行进行拉取. 1.拉取mysql 最新版本mysql: docker pull mysql:latest 拉取5.7版本mysql: docker pull mysql:5.7 2.启动容器镜像 docker run -p 13306:3306 --name my-mysql -v $PWD/conf:/etc/mysql -v $PWD/data:/var/lib/mysql -

  • docker上部署MySQL的示例

    容器云的概念现在很火,现在很多公司都把MySQL部署在容器上,开始今天内容之前,我们先来看看容器云的概念吧. 1 容器云是什么? 要理解容器云的概念,首先需要了解容器,容器的介绍过程中,需要引入虚拟机来进行对比. 虚拟机: VMware或者Virtual BoX这种虚拟机想必大家在日常工作中都有用到过,它是模拟计算机操作系统的软件,你可以在windows计算机上安装Virtual BoX软件,然后在Virtual Box上安装Centos或者Ubuntu这种Linux操作系统,从而在一台机器上运

  • Docker中部署mysql服务的方法及遇到的坑

    最近一直在学习搬运工,感觉这么厉害的东西怎么以前不知道呢,把自己捣鼓的过程整理记录下来,供同学们参考 第零步:从Docker Hub拉取官方mysql镜像 docker pull mysql 然后就是进入漫长的等待,当然如果你配置了镜像加速器,速度会快那么一丢丢 第一步:使用docker images命令查看镜像 你会看到我们这里已经有了MySQL的的镜像 第二步:启动我们的mysql的镜像,创建一个MySQL的容器 使用命令:docker run -d --name mysql -p 3307

  • Gogs+Jenkins+Docker 自动化部署.NetCore的方法步骤

    环境说明 腾讯云轻量服务器, 配置 1c 2g 6mb ,系统是 ubuntu 20.14,Docker 和 Jenkins 都在这台服务器上面, 群晖218+一台,Gogs 在这台服务器上. Docker安装 卸载旧的 Docker sudo apt-get remove docker docker-engine docker.io containerd runc 更新 apt 包索引并安装包以允许 apt 通过 HTTPS 使用存储库 sudo apt-get update sudo apt

  • docker compose部署主从复制的实现

    目录 配置解析 服务搭建 目录结构 Compose File 实例配置 启动服务 测试 受限于 Redis 单点性能,加上我们对数据天生就有的备份的需求,因此 Redis 提供了主从复制的服务. 本文记录了通过 docker compose 搭建一主双从的 Redis 服务. 配置解析 ################################# REPLICATION ################################# # [Slave]连接 Master 的配置 # s

  • Docker compose部署minio服务

    目录 介绍 单机版部署 纠删码模式部署 分布式部署 介绍 最近才知道minio这个对象存储服务中间件,简直相见恨晚,只怪我见识太短浅(哭泣脸). 说得通俗易懂点,minio的作用就是用来存储文件的,比如图片.视频.音频等各种类型的文件. 那么问题来了,java本身就可以直接把文件写到磁盘里面,为什么还要用minio呢? minio有完善的文件管理功能,包括针对文件的上传,下载,删除等 minio有强大的纠删功能,即便磁盘损坏,在一定程度上时可以避免丢失文件的 minio有完善的权限管理功能,它可

  • docker Compose部署springboot+vue前端端分离

    目录 (一) 准备工作 一.安装 二.修改生产环境下的配置以及打包操作: (二) 开始部署 一.blog_api 制作镜像 二.dockerCompose编排 三.mysql.redis.nginx的配置: 四.导入数据[数据库表的数据.前端静态web资源] 五.测试并排除错误: 温馨提示:如果有自己的服务器最好不过了,这样部署网项目就可以上线了.没有的话,只能使用localhost 本机访问啦,记得替换 ngixn 中的ip地址.域名为localhost. (一) 准备工作 一.安装 1.安装

  • Docker安装配置MySQL的实现步骤

    目录 前言 环境 安装 创建并启动MySQL容器 提醒 创建并启动MySQL容器命令 参数说明: 进入到MySQL容器内部进行配置 进入命令 连接MySQL 更改MySQL密码 测试连接 前言 MySQL 是世界上最受欢迎的开源数据库,So~本文将演示如何在Docker上安装并且配置MySQL. 环境 CentOS 7 Docker 20.10.10 安装 拉取镜像 docker pull mysql 如果要指定版本,在mysql后面加上:+版本号,例如: docker pull mysql:8

随机推荐