当前位置: 首页 > news >正文

docker-compose安装mysql主流版本及差异

文章目录

      • 一、概述
        • 官方:
        • 注意:
      • docker-compose脚本
        • mysql5.7
        • mysql8.0.30
        • mysql:latest
      • 异常
        • 问题:拉取镜像失败。
        • 问题:无法启动。

一、概述

官方:

https://hub.docker.com/_/mysql

注意:

  • 容器启动以后,mysql需要等待一会儿才能使用。

  • 映射生成的文件都是文件夹,删除my.cnf文件夹,新建my.cnf空白文件。

  • 重新部署记得清除数据。

  • 删除所有停止服务:docker-compose rm

docker-compose脚本

mysql5.7

默认加密插件:mysql_native_password

手动指定:command中加参数--default-authentication-plugin=mysql_native_password

version: '3'
services:
    mysql:
        image: "mysql:5.7"
        privileged: true
        container_name: "docker-mysql-5.7"
        restart: always
        ports:
            - "23306:3306"
        environment:
            MYSQL_ROOT_PASSWORD: "111111"
            MYSQL_DATABASE: "test"
            MYSQL_USER: "wangfugui"
            MYSQL_PASSWORD: "123456"
            TZ: Asia/Shanghai
        command:
          --wait_timeout=28800
          --interactive_timeout=28800
          --max_connections=1000
        volumes:
          - "./mysql-5.7/data:/var/lib/mysql"
          - "./mysql-5.7/config/my.cnf:/etc/mysql/my.cnf"

mysql8.0.30

默认加密插件:caching_sha2_password

version: '3'
services:
    mysql:
        image: "mysql:8.0.30"
        privileged: true
        container_name: "docker-mysql-8.0.30"
        restart: always
        ports:
            - "23306:3306"
        environment:
            MYSQL_ROOT_PASSWORD: "111111"
            MYSQL_DATABASE: 'test'
            MYSQL_USER: 'wangfugui'
            MYSQL_PASSWORD: '123456'
            TZ: Asia/Shanghai
        command:
          --wait_timeout=28800
          --interactive_timeout=28800
          --max_connections=1000
        volumes:
          - "./mysql-8.0.30/data:/var/lib/mysql"
          - "./mysql-8.0.30/config/my.cnf:/etc/mysql/my.cnf"

mysql:latest

最新版配置文件路径发生了变化:/var/lib/mysql-files

version: '3'
services:
    mysql:
        image: "mysql:latest"
        privileged: true
        container_name: "docker-mysql-latest"
        restart: always
        ports:
            - "23306:3306"
        environment:
            MYSQL_ROOT_PASSWORD: "111111"
            MYSQL_DATABASE: 'test'
            MYSQL_USER: 'wangfugui'
            MYSQL_PASSWORD: '123456'
            TZ: Asia/Shanghai
        command:
          --wait_timeout=28800
          --interactive_timeout=28800
          --max_connections=1000
        volumes:
          - "./mysql-latest/data:/var/lib/mysql-files"
          - "./mysql-latest/config/my.cnf:/etc/mysql/my.cnf"

异常

问题:拉取镜像失败。

ERROR: error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/ff/ff3b5098b416cc4294d8d5c43c2f0f8251e91711347318e73cb290ffe2783bcb/data?verify=1662001548-xUBxwxWg3NEn3np%2BUeFhOhQ1pow%3D: Service Unavailable

解决:

vim /etc/resolv.conf

nameserver 8.8.8.8

service docker restart

问题:无法启动。

ERROR: for docker_mysql  Cannot start service mysql: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting "/host_mnt/Users/wangfugui/Downloads/dev/middleware/db/docker/mysql/conf/my.cnf" to rootfs at "/etc/my.cnf" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

解决:

映射生成的文件都是文件夹,my.cnf改成文件即可。

相关文章:

  • 牛客多校3 - Journey(建图,最短路)
  • python如何实现数据可视化,如何用python做可视化
  • 开源治理的基本实践与指导原则
  • 【APP测试】怎么对App进行功能测试
  • Mybatis-Plus复习
  • 8、JAVA入门——switch选择结构
  • Inno Setup 创建Revit安装包
  • Windows和Linux使用FRP实现内网穿透
  • c++代码如何实现在win/linux下创建编译及部署后台服务,并管理其他服务
  • UI 自动化测试应不应该投入?有没有前途?怎样做最明智?
  • 股票量化交易有什么优势?
  • 元宇宙电商-NFG系统,是如何用数字藏品平台,促进新营销的?
  • thunderbird102编译-环境搭建(1)
  • curl用法:查看响应时间
  • 房地产基础知识!!!
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • Apache Pulsar 2.1 重磅发布
  •  D - 粉碎叛乱F - 其他起义
  • Git学习与使用心得(1)—— 初始化
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • HTTP请求重发
  • Netty 4.1 源代码学习:线程模型
  • October CMS - 快速入门 9 Images And Galleries
  • Redis 中的布隆过滤器
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • 从零开始在ubuntu上搭建node开发环境
  • 大型网站性能监测、分析与优化常见问题QA
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 翻译:Hystrix - How To Use
  • 给新手的新浪微博 SDK 集成教程【一】
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 双管齐下,VMware的容器新战略
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • 数据可视化之下发图实践
  • #define,static,const,三种常量的区别
  • #if和#ifdef区别
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (2015)JS ES6 必知的十个 特性
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (LeetCode) T14. Longest Common Prefix
  • (poj1.2.1)1970(筛选法模拟)
  • (vue)页面文件上传获取:action地址
  • (zt)最盛行的警世狂言(爆笑)
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (转) ns2/nam与nam实现相关的文件
  • (转)Google的Objective-C编码规范
  • (转)LINQ之路
  • (转)关于pipe()的详细解析
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .NET企业级应用架构设计系列之结尾篇