栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker 安装 mariadb server

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker 安装 mariadb server

  • 官方仓库地址:mariadb
  • 使用命令:docker pull mariadb 去下载这个镜像

    

  • 创建msyql到本地的数据文件夹映射路径:mkdir -p /data/mariadb/db 

         

  • 开始mariadb server实例:
    1. way 1: docker run --detach --name mariadb -p 3306:3306 --env MARIADB_USER=xxx --env MARIADB_PASSWORD=xxxx --env MARIADB_ROOT_PASSWORD=my-secret-pw -v /data/mariadb/db:/var/lib/mysql mariadb:latest
    2. way 2:
      1. docker network create name-network
      2. docker run --detach --network name-network --name name-mariadb --env MARIADB_USER=example-user --env MARIADB_PASSWORD=my_cool_secret --env MARIADB_ROOT_PASSWORD=my-secret-pw  mariadb:latest
    3. 参数说明:
      1. --detach: 它是-d的全称,意思是后台运行容器
      2. --network: 意思是将这个容器映射到此network
      3. --env: 它是-e的全称,意思是配置这个容器的环境变量
      4. --name: 设置容器启动名称
      5. -v:将容器目录var/lib/mysql映射到本地目录/data/mariadb/db
  • 运行以上命令在centos系统:

                

        docker ps -a 查看容器是否启动成功 

  • 这个从上面的截图我们发现一个警告:WARNING: IPv4 forwarding is disabled. Networking will not work.此警告意思告诉我们没有开启转发,所以容器启动后将没有网络。
    • 问题解决:
      • 配置/etc/sysctl.conf,添加net.ipv4.ip_forward=1
      • 修改文件

                        

                       注:也可修改此文件:/usr/lib/sysctl.d/00-system.conf

                        重启network和docker服务:systemctl restart network && systemctl restart docker

                        查看是否修改成功:sysctl net.ipv4.ip_forward

                        

                        修改成功

  • 修改容器为自启动:docker container update --restart=always 容器id
  • 进入容器: docker exec -it 容器id bash
  • 在容器内登录数据库 mysql -uroot -proot密码
  • 其它命令
    • docker start 容器id 启动容器
    • docker stop 容器id 停止容器
  •  docker数据持久化
    • docker数据卷容器
      • 创建一个名为boatdb数据卷(volume manager valumes)

        • docker volume create boatdb 
        • docker volume inspect boatdb 
      • 查看所有卷信息

         

        • docker volume ls 
      • 删除数据卷
        • docker volume rm 数据卷名(e:boatdb)
      • 删除容器时同时删除数据卷
        • docker rm -v 容器id或容器名
      • 清楚无主的数据卷

         

        • docker volume prune 
      • 启动一个挂载数据卷的容器
        • docker run -d -p 3306:3306 --mount source=boatdb,target=/opt --name mariadb mariadb:latest
          • 参数说明:
            • --mount:挂载目录(或-v:目录不存在时会自动创建目录)
            • source=:创建的数据卷名(boatdb),或本地目录
            • target=: 挂载到容器中的目录
            • 查看boatdb volume容器
  •  挂载一个本地主机文件作为数据卷
    • 创建mariadb容器并持久化到本地 
      docker run -d --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MARIADB_USER=yudo -e MARIADB_PASSWORD=123456 -v /data/mariadb/db:/var/lib/mysql mariadb:latest

    • 进入容器 

      docker exec -it mariadb bash

       

    • 创建数据库           

       

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/865224.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号