前言
Docker作为一种流行的容器化平台,能够简化应用环境的构建和管理。本文将介绍如何使用Docker构建和运行一个基于centos的MariaDB数据库镜像。通过本教程,您将学习到创建Dockerfile、编写初始化脚本、生成Docker镜像及运行容器的完整流程。
1.创建工作目录
mkdir /root/mysql cd mysql
2.创建Dockerfile文件
vim Dockerfile FROM centos:7 RUN rm -rf /etc/yum.repos.d/* RUN curl -o /etc/yum.repos.d/aliyun.repo https://mirrors.aliyun.com/repo/Centos-7.repo RUN yum install -y mariadb-server mariadb-devel mariadb ADD db_init.sh /root/db_init.sh RUN chmod 775 /root/db_init.sh RUN /root/db_init.sh EXPOSE 3306 CMD ["/usr/bin/mysqld_safe"]
3.创建执行脚本
#!/bin/bash mysql_install_db --user=mysql sleep 3 mysqld_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:mysql 8e9ca7998f47c28624f702e7fbbd43bd99894aee415a390b8471bf7f9adb3eba
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 3 Server version: 5.5.68-MariaDB MariaDB Server Copyright (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在简化应用部署、提高开发效率方面的强大能力。
本文链接:https://blog.runxinyun.com/post/145.html 转载需授权!
留言0