当前位置:首页 » 《关于电脑》 » 正文

Linux中Docker容器构建MariaDB数据库教程

24 人参与  2024年09月21日 08:40  分类 : 《关于电脑》  评论

点击全文阅读


 

?作者主页:点击! 

?Linux基础知识(初学):点击!

?Linux高级管理防护和群集专栏:点击!

?Linux中firewalld防火墙:点击!

⏰️创作时间:2024年9月20日8点13分


前言

Docker作为一种流行的容器化平台,能够简化应用环境的构建和管理。本文将介绍如何使用Docker构建和运行一个基于CentOS的MariaDB数据库镜像。通过本教程,您将学习到创建Dockerfile、编写初始化脚本、生成Docker镜像及运行容器的完整流程。

1.创建工作目录

mkdir /root/mysqlcd mysql

2.创建Dockerfile文件

vim DockerfileFROM centos:7RUN rm -rf /etc/yum.repos.d/*RUN curl -o /etc/yum.repos.d/aliyun.repo https://mirrors.aliyun.com/repo/Centos-7.repoRUN yum install -y mariadb-server mariadb-devel mariadbADD db_init.sh /root/db_init.shRUN chmod 775 /root/db_init.shRUN /root/db_init.shEXPOSE 3306CMD ["/usr/bin/mysqld_safe"]

3.创建执行脚本

#!/bin/bashmysql_install_db --user=mysqlsleep 3mysqld_safe &sleep 3

4.生成镜像

[root@localhost mysql]# docker build --network host -t mysql:mysql .[+] Building 72.4s (12/12) FINISHED

docker build: 这是Docker命令,用于根据Dockerfile构建一个新的镜像。

--network host: 这个选项指定构建过程中使用宿主机的网络。这样可以使构建过程中的网络请求(例如下载依赖或访问外部资源)使用宿主机的网络配置,有助于解决某些网络连接问题。

-t mysql:mysql: 这个选项为构建的镜像指定一个标签(tag)。在这里,您正在创建一个名为mysql的镜像,并将其标签设置为mysql。这使得您可以通过mysql:mysql来引用这个镜像。

.: 这个点表示当前目录。Docker将在当前目录查找Dockerfile和相关的上下文文件,以构建镜像。

5.运行容器并验证

[root@localhost mysql]# docker run -d --name mysql01 -p 3306:3306 mysql:mysql8e9ca7998f47c28624f702e7fbbd43bd99894aee415a390b8471bf7f9adb3eba

docker run: 这是Docker命令,用于创建并运行一个新的容器。

-d: 这个选项表示以“分离模式”运行容器,也就是说,容器将在后台运行,而不会在终端中阻塞。

--name mysql01: 这个选项为新创建的容器指定一个名称。在这里,容器将被命名为mysql01,您可以使用这个名称来管理容器(例如启动、停止或删除)。

-p 3306:3306: 这个选项将容器的3306端口映射到主机的3306端口。MariaDB默认运行在3306端口,因此您可以通过主机的3306端口访问MariaDB服务。

mysql:mysql: 这是要使用的镜像名。它表示使用名为mysql的镜像,标签为mysql。请确保您已经拉取了这个镜像,或者Docker会自动从Docker Hub下载它。

测试

进入查看数据库

[root@8e9ca7998f47 /]# mysqladmin -uroot password "Abcd-1234"[root@8e9ca7998f47 /]# mysql -uroot -p"Abcd-1234"Welcome to the MariaDB monitor.  Commands end with ; or \g.Your MariaDB connection id is 3Server version: 5.5.68-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]>

总结

本文详细介绍了在Docker中创建和运行MariaDB数据库的步骤。首先,我们创建了一个工作目录并编写了Dockerfile,该文件定义了镜像的基础环境和安装的依赖项。接着,通过执行脚本初始化数据库,并构建了自定义的Docker镜像。随后,我们运行了一个新的容器,并通过命令行验证了MariaDB的安装和运行情况。通过这些步骤,您可以快速搭建一个可用的数据库环境,为后续的开发和测试提供支持。这一过程展示了Docker在简化应用部署、提高开发效率方面的强大能力。

成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子


点击全文阅读


本文链接:http://zhangshiyu.com/post/162500.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 抽卡后,气运之子怎么都缠上来了小说(夏挽棠)(抽卡后,气运之子怎么都缠上来了)全书+后续+结局在线阅读
  • 前传爱意随风消逝续集:全文+番外乔清浅宋轻舟:结局+番外新上热文
  • 宋昭黎陆铭绪(假如从没拥抱你)前文+全本完整阅读预售作品抢先看
  • 终章小说搬空海港!我携军舰嫁军官躺赢了完结篇(温婉历战)已更新+延伸(搬空海港!我携军舰嫁军官躺赢了)清爽版
  • 贵妻在上:废材老公来护航完结篇(贵妻在上:废材老公来护航)章节目录+章节前文(宋锦瑶霍少霆)全章无套路在线
  • 离婚后,前夫一家给我跪下了隐藏剧情_明白双宿双飞江城必读文_小说后续在线阅读_无删减免费完结_
  • 乔芊芊顾宴夜小说(乔芊芊顾宴夜)(踹了渣男后,禁欲大佬为我失控)前传+阅读全新作品预订
  • 假如从没拥抱你小说(宋昭黎陆铭绪)全本完整阅读最新章节(假如从没拥抱你)_笔趣阁
  • 特工医妃,摄政王的腹黑掌上欢前言+后续_苏清叙裴玄褚最新阅读_小说后续在线阅读_无删减免费完结_
  • 热文推荐绑定站姐系统后,我成娱乐巨头了附加(沈霁月沈暨星)(绑定站姐系统后,我成娱乐巨头了)最新章节列表
  • 爱你的事当做秘密惊天黑幕_鹿言裴禹连载_小说后续在线阅读_无删减免费完结_
  • 和前夫穿越后又重生了番外+结局(挽星阙靖安)小说在线阅读

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1