欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在centos7上使用Docker安装mysql5.7

程序员文章站 2022-04-14 10:40:25
...

如果还没安装docker,可查看Centos7下安装Docker(详细安装教程)

 

1、查找 docker 镜像:docker search mysql

[aaa@qq.com ~]# docker search mysql
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   8652                [OK]                
mariadb                           MariaDB is a community-developed fork of MyS…   3009                [OK]                
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   641                                     [OK]
percona                           Percona Server is a fork of the MySQL relati…   451                 [OK]                
centos/mysql-57-centos7           MySQL 5.7 SQL database server                   63                                      
centurylink/mysql                 Image containing mysql. Optimized to be link…   61                                      [OK]
mysql/mysql-cluster               Experimental MySQL Cluster Docker images. Cr…   52                                      
deitch/mysql-backup               REPLACED! Please use http://hub.docker.com/r…   41                                      [OK]
tutum/mysql                       Base docker image to run a MySQL database se…   34                                      
bitnami/mysql                     Bitnami MySQL Docker Image                      34                                      [OK]
schickling/mysql-backup-s3        Backup MySQL to S3 (supports periodic backup…   28                                      [OK]
prom/mysqld-exporter                                                              23                                      [OK]
linuxserver/mysql                 A Mysql container, brought to you by LinuxSe…   21                                      
centos/mysql-56-centos7           MySQL 5.6 SQL database server                   16                                      
                           

2、拉取 docker 镜像:docker pull mysql:5.7

[aaa@qq.com ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
8f91359f1fff: Pull complete 
6bbb1c853362: Pull complete 
e6e554c0af6f: Pull complete 
f391c1a77330: Pull complete 
414a8a88eabc: Pull complete 
fee78658f4dd: Pull complete 
9568f6bff01b: Pull complete 
76041efb6f83: Pull complete 
ea54dbd83183: Pull complete 
566857d8f022: Pull complete 
01c09495c6e7: Pull complete 
Digest: sha256:f7985e36c668bb862a0e506f4ef9acdd1254cdf690469816f99633898895f7fa
Status: Downloaded newer image for mysql:5.7

3、用 docker images 命令查看镜像

[aaa@qq.com ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7                 383867b75fd2        2 weeks ago         373MB

 最新官方MySQL(5.7.19)的docker镜像在创建时映射的配置文件目录有所不同,在此记录并分享给大家:

MySQL(5.7.19)的默认配置文件是 /etc/mysql/my.cnf 文件。如果想要自定义配置,建议向 /etc/mysql/conf.d 目录中创建 .cnf 文件。新建的文件可以任意起名,只要保证后缀名是 cnf 即可。新建的文件中的配置项可以覆盖 /etc/mysql/my.cnf 中的配置项。

具体操作:首先需要创建将要映射到容器中的目录以及.cnf文件,然后再创建容器

[aaa@qq.com ~]# cd /opt/
[aaa@qq.com opt]# mkdir -p docker_v/mysql/conf
[aaa@qq.com opt]# cd docker_v/mysql/conf/
[aaa@qq.com conf]# touch my.cnf

4、启动容器,运行镜像

[aaa@qq.com conf]# docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
afe27881f7a3a648aabdc6efc309d34d899de4f0b6985e2a2a4b5b728bce2c6e

5、查看正在运行的镜像

[aaa@qq.com conf]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                               NAMES
afe27881f7a3        mysql:5.7           "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

6.连接 账号root密码123456

用Navicat连接

在centos7上使用Docker安装mysql5.7

 

 

其他

docker run

-d 标识是让 docker 容器在后台运行。

-p 标识通知 Docker 将容器内部使用的网络端口映射到我们使用的主机上。

–name 定义一个容器的名字,如果在执行docker run时没有指定Name,那么deamon会自动生成一个随机数字符串当做UUID。

-e 设置环境变量,或者覆盖已存在的环境变量。

例如:docker run –name mysql -p 3306:3306 -e 
MYSQL_ROOT_PASSWORD=password -dmysql/mysql-server:latest

含义:容器的名字为mysql,将容器的3306端口映射到本机的3306端口,mysql数据库的密码为password 
,运行的镜像为mysql/mysql-server:latest