在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连接
其他
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
上一篇: 在CentOS中安装mysql5.7