建立并运行docker mariadb镜像

本文介绍了如何查找最新版的MariaDB Docker镜像,并详细讲解了如何配置及设置MariaDB在Docker中实现自动启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 查找最新适合自己的mariadb镜像

[root@localhost ~]docker search mariadb
INDEX       NAME                                                                DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/mariadb                                                   MariaDB is a community-developed fork of M...   1744      [OK]       
docker.io   docker.io/bitnami/mariadb                                           Bitnami MariaDB Docker Image                    50                   [OK]
docker.io   docker.io/toughiq/mariadb-cluster                                   Dockerized Automated MariaDB Galera Cluste...   29                   [OK]
docker.io   docker.io/linuxserver/mariadb                                       A Mariadb container, brought to you by Lin...   23                   
docker.io   docker.io/million12/mariadb                                         MariaDB 10 on CentOS-7 with UTF8 defaults       14                   [OK]
docker.io   docker.io/colinmollenhour/mariadb-galera-swarm                      MariaDb w/ Galera Cluster, DNS-based servi...   13                   [OK]
docker.io   docker.io/panubo/mariadb-galera                                     MariaDB Galera Cluster                          13                   [OK]
docker.io   docker.io/webhippie/mariadb                                         Docker images for mariadb                       13                   [OK]
docker.io   docker.io/yobasystems/alpine-mariadb                                MariaDB running on Alpine Linux [docker]        12                   [OK]
docker.io   docker.io/diegomarangoni/mariadb-galera                             Creates a MariaDB Galera Cluster                10                   [OK]
docker.io   docker.io/jsurf/rpi-mariadb                                         mariadb for rpi based on jsurf/rpi-raspbian     9                    [OK]
docker.io   docker.io/monitoringartist/zabbix-db-mariadb                        Docker image of MariaDB optimized for Zabbix    9                    [OK]
#挑选STARS最高的吧
[root@localhost~] docker pull docker.io/mariadb:latest
2. 配置数据库文件路径

# 创建本地数据库文件路径
[root@localhost~]mkdir -p /data/mysql
#修改对象(文件)的安全上下文。比如:用户:角色:类型:安全级别
[root@localhost~]chcon -Rt svirt_sandbox_file_t /data/mysql
3. 启动镜像(设置为自启动)

[root@localhost~]docker run -p 3306:3306 -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=hello123 --name mariadb -d --restart unless-stopped docker.io/mariadb:latest 

4. 设置mariadb自动启动

#安装完成MariaDB,首先启动MariaDB
[root@localhost~]systemctl start mariadb
#设置开机启动
[root@localhost~]systemctl enable mariadb
5. 设置相关账号

#首次使用设置root账号
[root@xxxx~]mysql_secure_installation
#登录mysql,设置远程登录账号
[root@xxxx~]mysql -uroot -p
mysql> grant all privileges on *.* to remoteroot@'%' identified by 'hello1234';
mysql>privilege flush
#OK,后续可以使用remoteroot登录数据库了。






### 如何在Docker中安装和配置MariaDB #### 准备工作 为了能够在环境中顺利运行Docker中的MariaDB,需先确认已正确安装Docker环境。对于CentOS系统而言,可以通过命令`yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin`完成Docker及其相关组件的安装[^2]。 #### 获取MariaDB镜像 通过拉取官方仓库中的MariaDB镜像来准备部署所需的资源。具体操作为执行命令`docker pull mariadb`以获取最新版本的MariaDB镜像文件[^1]。 #### 创建持久化存储卷 考虑到数据库的数据安全性和稳定性,建议设置专门用于保存MariaDB数据的永久存储位置。这一步骤可通过定义挂载点实现,例如指定本地路径映射至容器内部的数据目录,从而保障即使容器被删除也不会丢失重要信息。 #### 配置启动参数与初始化脚本 编写必要的Shell脚本来辅助自动化部署过程是非常有益的做法。比如可以创建名为`db_init.sh`以及`run.sh`这样的脚本文件放置于自定义构建上下文中(如`/root/my-dockerfile/`)。其中前者负责处理首次启动时的一些特定任务;后者则用来简化后续每次重启服务的操作流程[^3]。 #### 处理权限认证问题 当遇到访问控制错误提示“Access denied for user 'root'@'localhost'(using password:YES)”时,一种常见的解决方案是在MySQL/MariaDB配置文件内加入`skip-grant-tables`选项暂时绕过密码验证机制以便重设管理员账户凭证。不过需要注意的是,在生产环境下不推荐长期开启此模式以免带来安全隐患。进入容器后编辑相应的配置文件(`my.cnf`)添加该条目可有效解决问题[^5]。 ```bash # 进入容器 docker exec -it mariadb bash # 更新软件包列表 apt-get update # 安装vim工具 apt-get install vim # 编辑配置文件 cd /etc/mysql/ vim my.cnf ``` #### 总结 综上所述,在Docker中成功搭建管理MariaDB实例涉及多个环节的工作,从基础环境建设到高级特性应用都需要谨慎对待。遵循上述指导能够帮助顺利完成整个过程,确保所建立的服务稳定可靠。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值