Docker安装MySQL

参考文档:https://www.runoob.com/docker/docker-install-mysql.html

1. 查找Docker Hub上的mysql镜像

  命令:docker search mysql

[root@localhost hh]# docker search mysql
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   8696                [OK]                
mariadb                           MariaDB is a community-developed fork of MyS…   3036                [OK]                
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   643                                     [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…   53                                      
deitch/mysql-backup               REPLACED! Please use http://hub.docker.com/r…   41                                      [OK]

  

2. 拉取官方的镜像,标签为5.6

  命令:docker pull mysql:5.6

[root@localhost hh]# docker pull mysql:5.6
5.6: Pulling from library/mysql
80369df48736: Pull complete 
e8f52315cb10: Pull complete 
cf2189b391fc: Pull complete 
cc98f645c682: Pull complete 
27a27ac83f74: Pull complete 
f3f8d5bb9498: Pull complete 
bbfacbe5a185: Pull complete 
9db7adff1e15: Pull complete 
f8402500c236: Pull complete 
b0319efc9cd8: Pull complete 
d19ab308a635: Pull complete 
Digest: sha256:411cb46904b646d1260e075505ee75d7457511412011eb03928e956eac1c0bf9
Status: Downloaded newer image for mysql:5.6
docker.io/library/mysql:5.6

3. 等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为mysql,标签为5.6的镜像。

[root@localhost hh]# docker images |grep mysql
mysql               5.6                 b3983abaa3fe        10 hours ago        302MB

4. 运行镜像

[root@localhost hh]# docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
25ff676e442e517a895a94ca744266a024ccf1c8c2656f55dfb5fb73af0a835a

  命令说明:

  -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。

  --name : 镜像的名称

  -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。

  -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。

  -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。

  -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

5. 查看容器启动情况

[root@localhost hh]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
25ff676e442e        mysql:5.6           "docker-entrypoint.s…"   32 seconds ago      Up 29 seconds       0.0.0.0:3306->3306/tcp   mymysql

6. 进入容器

[root@localhost hh]# docker exec -it mymysql bash
root@25ff676e442e:/# 

7. 操作MySQL

root@25ff676e442e:/# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.6.46 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql>

后续就是操作MySQL的东西了,总的来说,使用Docker安装MySQL,比直接在CentOS上安装步骤和时间都省太多了。

原文地址:https://www.cnblogs.com/huanshilang/p/11695838.html