Docker安裝mysql

Docker安裝mysql

mysql 数据持久化问题!

# 命令 获取 搜索mysql镜像
[root@liulihui docker]# docker search mysql

NAME                            DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                           MySQL is a widely used, open-source relation??  13570     [OK]       
mariadb                         MariaDB Server is a high performing open sou??  5172      [OK]       
phpmyadmin                      phpMyAdmin - A web interface for MySQL and M??  700       [OK]       
percona                         Percona Server is a fork of the MySQL relati??  596       [OK] 

# 下载mysql镜像[5.7]
[root@liulihui docker]# docker pull mysql:5.7

[root@liulihui docker]# docker pull mysql:5.7
5.7: Pulling from library/mysql
72a69066d2fe: Pull complete 
93619dbc5b36: Pull complete 
99da31dd6142: Pull complete 
626033c43d70: Pull complete 
37d5d7efb64e: Pull complete 
ac563158d721: Pull complete 
d2ba16033dad: Pull complete 
0ceb82207cd7: Pull complete 
37f2405cae96: Pull complete 
e2482e017e53: Pull complete 
70deed891d42: Pull complete 
Digest: sha256:f2ad209efe9c67104167fc609cca6973c8422939491c9345270175a300419f94
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7

# 查看mysql镜像
[root@liulihui docker]# docker images
REPOSITORY            TAG       IMAGE ID       CREATED         SIZE
mysql                 5.7       c20987f18b13   11 months ago   448MB

# 运行容器 需要做数据挂载 , # 启动mysql 容器 需要配置密码的 特别注意;
# 官方的测试如下:
# docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
# -e 表示配置环境,-e MYSQL_ROOT_PASSWORD=my-secret-pw 这里是配置密码 

# 启动mysql;
 -d #后台运行
 -p #暴露映射端口
 -e #环境配置
 -v #挂载目录
 --name # 容器命名
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

#查看启动
[root@liulihui docker]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED         STATUS         PORTS                                                  NAMES
48e1d422eae2   mysql:5.7             "docker-entrypoint.s??   7 minutes ago   Up 7 minutes   33060/tcp, 0.0.0.0:3310->3306/tcp, :::3310->3306/tcp   mysql01

本地测试链接msyql数据库,Navicat 测试,创建 test 数据库
在这里插入图片描述
查看挂载目录是否ok?

# 本地创建数据库test  查看 本机挂载目录
[root@liulihui /]# cd /home/
[root@liulihui home]# ls
cehis  centos7  mysql  test.java
[root@liulihui home]# cd mysql/
[root@liulihui mysql]# ls
conf  data
[root@liulihui mysql]# cd data/
[root@liulihui data]# ls
auto.cnf    ca.pem           client-key.pem  ibdata1      ib_logfile1  mysql               private_key.pem  server-cert.pem  sys
ca-key.pem  client-cert.pem  ib_buffer_pool  ib_logfile0  ibtmp1       performance_schema  public_key.pem   server-key.pem   test

容器删除,本地的挂载目录以及数据是否存在???

# 查看运行的容器
[root@liulihui /]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
48e1d422eae2   mysql:5.7             "docker-entrypoint.s??   21 minutes ago   Up 21 minutes   33060/tcp, 0.0.0.0:3310->3306/tcp, :::3310->3306/tcp   mysql01
99d3955ffd06   portainer/portainer   "/portainer"             4 days ago       Up 5 hours      0.0.0.0:9000->9000/tcp, :::9000->9000/tcp              nifty_bassi

# 删除 容器 mysql01
[root@liulihui /]# docker rm -f mysql01
mysql01

发现我们挂载本地数据依旧存在,这就实现了容器数据卷持久化功能!

# 查看挂载目录
[root@liulihui /]# cd /home/
[root@liulihui home]# ls
cehis  centos7  mysql  test.java
[root@liulihui home]# cd mysql/
[root@liulihui mysql]# ls
conf  data
[root@liulihui mysql]# cd data/
[root@liulihui data]# ls
auto.cnf    ca.pem           client-key.pem  ibdata1      ib_logfile1  mysql               private_key.pem  server-cert.pem  sys
ca-key.pem  client-cert.pem  ib_buffer_pool  ib_logfile0  ibtmp1       performance_schema  public_key.pem   server-key.pem   test
[root@liulihui data]# 

猜你喜欢

转载自blog.csdn.net/liulihui1988/article/details/128244456