在centos7上使用Docker安装mysql5.7

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

 

1、查找 docker 镜像:docker search mysql

[root@izwz9e6rwf3jav5u8udbfmz ~]# 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

[root@izwz9e6rwf3jav5u8udbfmz ~]# 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 命令查看镜像

[root@izwz9e6rwf3jav5u8udbfmz ~]# 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文件,然后再创建容器

[root@izwz9e6rwf3jav5u8udbfmz ~]# cd /opt/
[root@izwz9e6rwf3jav5u8udbfmz opt]# mkdir -p docker_v/mysql/conf
[root@izwz9e6rwf3jav5u8udbfmz opt]# cd docker_v/mysql/conf/
[root@izwz9e6rwf3jav5u8udbfmz conf]# touch my.cnf

4、启动容器,运行镜像

备注:此语句为创建数据库,执行一次就可以。

[root@izwz9e6rwf3jav5u8udbfmz conf]# docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
afe27881f7a3a648aabdc6efc309d34d899de4f0b6985e2a2a4b5b728bce2c6e

5、查看正在运行的镜像

[root@izwz9e6rwf3jav5u8udbfmz 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

停用mysql: docker stop mysql
启用mysql: docker start mysql

 

6.连接 账号root密码123456

用Navicat连接

在centos7上使用Docker安装mysql5.7_第1张图片

 

 

其他

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

 

 

你可能感兴趣的:(centos7,docker,数据库)