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

使用 Docker 部署 mysql 应用

使用 Docker 部署

环境搭建
  • Docker 安装文档
创建容器
  1. 在系统任意位置创建一个文件夹(可选)

    mkdir -p /opt/docker/mysql && cd /opt/docker/mysql
    
    mkdir ./{conf,data,logs}
    
  2. 搜索 & 拉取镜像

    docker search mysql
    docker pull mysql:5.6
    
  3. 启动服务

    docker run -id \
    -p 3306:3306 \
    --name=mysql \
    -v $PWD/conf:/etc/mysql/conf.d \
    -v $PWD/logs:/logs \
    -v $PWD/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    mysql:5.6
    

参数说明:

  • -p 3307:3306 - 将容器的 3306 端口映射到宿主机的 3307 端口。
  • -v $PWD/conf:/etc/mysql/conf.d - 将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf 配置目录。
  • -v $PWD/logs:/logs - 将主机当前目录下的 logs 目录挂载到容器的 /logs 日志目录。
  • -v $PWD/data:/var/lib/mysql - 将主机当前目录下的 data 目录挂载到容器的 /var/lib/mysql 数据目录。
  • -e MYSQL_ROOT_PASSWORD=123456 - 初始化 root 用户的密码。
更新容器
  1. 停止运行中的容器

    docker stop mysql
    docker rm mysql
    
  2. 备份数据(重要)

    cp -r /opt/docker/mysql /opt/docker/mysql.archive
    
  3. 更新服务

  • 拉取镜像

    docker pull mysql:8.0
    
  • 重新启动服务

    docker run -id \
    -p 3307:3306 \
    --name=mysql \
    -v $PWD/conf:/etc/mysql/conf.d \
    -v $PWD/logs:/logs \
    -v $PWD/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    mysql:8.0
    

使用 Docker Compose 部署

环境搭建
  • Docker 安装文档
  • Docker Compose 安装文档
创建容器
  1. 在系统任意位置创建一个文件夹(可选)

    mkdir -p /opt/docker/mysql && cd /opt/docker/mysql
    mkdir ./{conf,data,logs,init}
    

注意:后续操作中,产生的所有数据都会保存在这个目录,请妥善保存。

  1. 创建 docker-compose.yaml

    version: '3'
        services:
          mysql:
            image: mysql:5.6
            container_name: e-mysql
            privileged: true
            restart: always
            ports:
              - 3306:3306
            environment:
              - MYSQL_ROOT_PASSWORD=123456
            volumes:
              - $PWD/conf:/etc/mysql/conf.d
              - $PWD/conf/my.cnf:/etc/my.cnf
              - $PWD/logs:/logs
              - $PWD/data:/var/lib/mysql
              - $PWD/init:/docker-entrypoint-initdb.d/
        networks:
          default:
            driver: bridge    
    
  2. 启动服务

    docker-compose up -d
    

    实时查看日志:

    docker-compose logs -f
    
更新容器
  1. 停止运行中的容器

    cd /opt/docker/mysql && docker-compose down
    
  2. 备份数据(重要)

    cp -r /opt/docker/mysql /opt/docker/mysql.archive
    
  3. 更新服务

  • 修改 docker-compose.yaml 中配置的镜像版本

  • 拉取镜像

    docker-compose pull
    
  • 重新启动服务

  • docker-compose up -d

相关文章:

  • STM32八股【2】-----ARM架构
  • 安装PaddlePaddle2.6.2和PaddleSpeech1.4的CPU版本——基于Ubuntu22.04
  • uniapp中的路由、本地存储与网络请求
  • 经典笔试题 小于 n 的最大整数 贪心 回溯 剪枝 全排列
  • YOLO-UniOW: 高效通用开放世界目标检测模型【附论文与源码】
  • 用户说 | 零基础用通义灵码 AI 程序员开发个人笔记网站
  • Docker与K8S是什么该怎么选?
  • lvgl学习(三)之常用控件
  • 软考中级网络工程师第七章下一代互联网IPv6
  • 蓝桥与力扣刷题(蓝桥 三角形面积)
  • 微服务架构-网关学习 以Spring Cloud Gateway为例 详细功能模块解读
  • 微服务架构中的API网关:Spring Cloud与Kong/Traefik等方案对比
  • 【css酷炫效果】纯CSS实现文字立体投影效果
  • 蓝桥杯每日一题----海底高铁
  • 杨辉三角 II(js实现,LeetCode:119)
  • [7-01-03].SpringBoot3集成MinIo
  • PTA团体程序设计天梯赛-练习集51-55题
  • Yolo系列之Yolo v3的概述、网络结构以及与v1,v2对比
  • Ubuntu20.04 Bevfusion TensorRt部署
  • Burp Suite 代理配置与网络通信
  • 云南铁路:打造“铁路+金融+产业”融合发展生态
  • 《奇袭白虎团》原型人物之一赵顺合辞世,享年95岁
  • 加总理:目前没有针对加拿大人的“活跃威胁”
  • 张译、惠英红分获第二十届中国电影华表奖优秀男、女演员奖
  • 民航局:中方航空公司一季度运输国际旅客同比大增34%
  • 一周观展|五一假期将到,特展大展陆续开幕