千家信息网

mysql镜像生成容器的下载安装及配置过程

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"mysql镜像生成容器的下载安装及配置过程",在日常操作中,相信很多人在mysql镜像生成容器的下载安装及配置过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
千家信息网最后更新 2026年11月02日mysql镜像生成容器的下载安装及配置过程

这篇文章主要介绍"mysql镜像生成容器的下载安装及配置过程",在日常操作中,相信很多人在mysql镜像生成容器的下载安装及配置过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"mysql镜像生成容器的下载安装及配置过程"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、下载官方的mysql镜像

[root@localhost ~]# docker pull mysql

下载完成后查看镜像:

[root@localhost ~]# docker imagesREPOSITORY                    TAG                 IMAGE ID            CREATED             SIZEdocker.io/mysql               latest              1195b21c3a45        10 weeks ago        380.2 MB

二、生成容器

生成容器时,调用的启动脚本是/entrypoint.sh;通过查看/entrypoint.sh脚本内容,总结参数如下

mysqld #启动mysql服务,必须使用MYSQL_ROOT_PASSWORD #设置mysql的root密码,必须使用#以下二个参数添加除root之外的用户并设置密码,可选。MYSQL_USER MYSQL_PASSWORD#设置生成容器时需要新建的数据库,可选MYSQL_DATABASE#容器的mysql数据库默认的保存路径是:/var/lib/mysql#容器的配置文件my.cnf的路径为:/etc/mysql/my.cnf

使用上要的参数生成新的容器:

[root@localhost mysql_data]# docker run -d -p 3307:3306 --name mysql  -P  -e mysqld -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_USER=yope -e MYSQL_PASSWORD=yope -e MYSQL_DATABASE=testDb -v /mysql_data:/var/lib/mysql  mysql 492ffa26d8653561208aed28eb62c61e9bae0de91ef911769c35f9e4eae6b272[root@localhost mysql_data]# docker ps -aCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS                                          NAMES492ffa26d865        mysql               "docker-entrypoint.sh"   10 seconds ago      Up 7 seconds               0.0.0.0:3307->3306/tcp                         mysql

重要参数说明:

--name mysql

指定容器名称为 mysql;

-p 3307:3306

指定映射端口 将宿主机端口3307映射到容器3306端口;

-v /mysql_data:/var/lib/mysql

映射数据库存放位置。将宿主机的目录"/mysql_data"映射到容器的"/var/lib/mysql"目录;这是因为默认情况下数据库的数据库文件和日志文件都会存放于容器的AUFS文件层,这不仅不使得容器变得越来越臃肿,不便于迁移、备份等管理,而且数据库的性能也会受到影响。因此建议挂载到宿主机的目录到容器内。

查看本地的mysql_data是否生成容器内的数据库:

[root@localhost /]# ll /mysql_data/总用量 188452-rw-r----- 1 systemd-bus-proxy ssh_keys       56 8月  20 22:25 auto.cnf-rw-r----- 1 systemd-bus-proxy ssh_keys     1329 8月  20 22:25 ib_buffer_pool-rw-r----- 1 systemd-bus-proxy ssh_keys 79691776 8月  20 22:25 ibdata1-rw-r----- 1 systemd-bus-proxy ssh_keys 50331648 8月  20 22:25 ib_logfile0-rw-r----- 1 systemd-bus-proxy ssh_keys 50331648 8月  20 22:25 ib_logfile1-rw-r----- 1 systemd-bus-proxy ssh_keys 12582912 8月  20 22:25 ibtmp1drwxr-x--- 2 systemd-bus-proxy ssh_keys     4096 8月  20 22:25 mysqldrwxr-x--- 2 systemd-bus-proxy ssh_keys     8192 8月  20 22:25 performance_schemadrwxr-x--- 2 systemd-bus-proxy ssh_keys     8192 8月  20 22:25 sysdrwxr-x--- 2 systemd-bus-proxy ssh_keys       19 8月  20 22:25 testDb[root@localhost /]#

已经生成相关的文件和默认数据库,同时也新建了"testDb"数据库.

测试方案一:

在宿主机上通过端口访问容器中的mysql服务

[root@localhost /]# yum -y install mysql

测试登录:

[root@localhost mysql_data]# mysql -u root -p -h 127.0.0.1 -P 3307Enter password: Welcome to the MariaDB monitor.  Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.7.13 MySQL Community Server (GPL)Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MySQL [(none)]>

测试方案二:

自己本地利用mysql 连接工具(eg:Navicat 等)进行连接,注意映射出来的真实端口不一定是3306就好了。

需要注意的是:宿主机上的UID和GID是999。这是容器里用户mysql的UID和GID。千万别进行权限变更,否则容器对这个目录进行读写就会出现问题。如果觉得不舒服,可以在本地新建一个mysql_docker的用户指定UID和GID是999。

(这个注意本人没有落实验证,如果描写信息有错,还望指出)

三、进入到新生成的容器 (名为mysql的容器)

使用exec进入容器,同时进行相关操作:

[root@localhost /]# docker exec -it mysql /bin/bash

查看进程:

root@492ffa26d865:/# ps -auxUSER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDmysql         1  0.2  9.7 1262696 182200 ?      Ssl  14:52   0:00 mysqldroot        127  0.2  0.1  20216  1884 ?        Ss   14:57   0:00 /bin/bashroot        133  0.0  0.0  17492  1148 ?        R+   14:58   0:00 ps -aux

查看数据库所在的文件夹:

root@492ffa26d865:/# ls -l /var/lib/mysql/total 188452-rw-r----- 1 mysql mysql       56 Aug 20 14:52 auto.cnf-rw-r----- 1 mysql mysql     1329 Aug 20 14:52 ib_buffer_pool-rw-r----- 1 mysql mysql 50331648 Aug 20 14:52 ib_logfile0-rw-r----- 1 mysql mysql 50331648 Aug 20 14:52 ib_logfile1-rw-r----- 1 mysql mysql 79691776 Aug 20 14:52 ibdata1-rw-r----- 1 mysql mysql 12582912 Aug 20 14:52 ibtmp1drwxr-x--- 2 mysql mysql     4096 Aug 20 14:52 mysqldrwxr-x--- 2 mysql mysql     8192 Aug 20 14:52 performance_schemadrwxr-x--- 2 mysql mysql     8192 Aug 20 14:52 sysdrwxr-x--- 2 mysql mysql       19 Aug 20 14:52 testDb

进入mysql:

root@492ffa26d865:/# mysql -u root -pEnter password: Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 3Server version: 5.7.13 MySQL Community Server (GPL)Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>

四、修改容器中mysql的配置文件

默认镜像中并没有安装vi或者vim,需要手工安装

root@492ffa26d865:/# apt-get update && apt-get -yq install vim

然后就可以使用vim 来修改mysql的配置文件:

root@492ffa26d865:/# vim /etc/mysql/my.cnf

vim编辑器在此不做详述。

如果已经有一个比较成熟的my.cnf的配置方案,可以在宿主机上新建一个文件夹将已经设置好的my.cnf和conf.d这二个文件放到里面,

然后在新建容器的时候,直接使用参数"-v" 将这个文件夹映射到容器的"/etc/mysql"目录上即可。

到此,关于"mysql镜像生成容器的下载安装及配置过程"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

容器 文件 生成 数据 数据库 配置 镜像 宿主 参数 目录 端口 过程 学习 宿主机 文件夹 方案 用户 测试 同时 密码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 A股互联网金融科技公司 互联网科技垄断 智能科技公司是互联网公司吗 互联网与科技金融数据 金融科技 互联网金融 美国互联网科技 互联网与未来科技 致聘互联网科技 融势互联网科技 中国最先进互联网科技公司 中盈科技互联网信息有限公司 团飞科技与伯堂互联网服务平台 互联网还是高科技吗 中国互联网十大科技股排名 南博望互联网科技有限公司 科技赋能视角下互联网保险发展 济南有互联网科技公司吗 富国互联网金融科技混合基金 郑州欣桑互联网科技有限公司 版纳互联网科技选哪家 深圳国际航运科技和互联网 互联网大会黑科技排名 互联网保险科技创业 江苏互联网智能科技软件 互联网科技年终奖 世界互联网科技成果奖 上海万顺科技互联网有限公司招聘 互联网科技创业计划的风险分析 优雇互联网科技有限公司 中国主要互联网科技公司
0