docker 安装 mysql 小白教程

本贴最后更新于 1883 天前,其中的信息可能已经东海扬尘

如果还没有安装好 docker 的话可以参考我之前的 docker 安装教程

docker 小白安装教程

1.先搜索一下 mysql 镜像列表

docker search mysql

出现以下 mysql 相关的镜像列表,列表中有 Star 数、Official(是否官方)等参数,默认按 Star 数排列。

NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   8621                [OK]                
mariadb                           MariaDB is a community-developed fork of MyS…   2997                [OK]                
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   637                                     [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…   51                                      
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                      33                                      [OK]
schickling/mysql-backup-s3        Backup MySQL to S3 (supports periodic backup…   28                                      [OK]
prom/mysqld-exporter                                                              23                                      [OK]

2.拉取 mysql 的镜像

执行拉取镜像语句

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
docker.io/library/mysql:5.7

下载结束后执行 docker 查看镜像

docker images

确认已经出现 mysql 5.7 的镜像

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7                 383867b75fd2        2 weeks ago         373MB

3.启动 Mysql 容器

执行以下语句

docker run -p 3306:3306 --name mysql \
 -v /usr/local/mysql/conf:/etc/mysql/conf.d \
 -v /usr/local/mysql/logs:/logs \
 -v /usr/local/mysql/data:/var/lib/mysql \
 -e MYSQL_ROOT_PASSWORD=root123456 \
 -d mysql:5.7

稍微解释以下这段启动语句

# run是启动命令  -p是端口映射 将本机的3306映射到容器里的3306端口 
# -name为容器设置名称,如果没有设置会有默认的随机名称
docker run -p 3306:3306 --name mysql \
# -v是挂载容器卷  
# 将mysql的各个主要文件夹映射到宿主机上
 -v /usr/local/mysql/conf:/etc/mysql/conf.d \
 -v /usr/local/mysql/logs:/logs \
 -v /usr/local/mysql/data:/var/lib/mysql \
# -e是传入环境变量  传入mysql root用户的密码
 -e MYSQL_ROOT_PASSWORD=root123456 \
# -d是后台运行容器 后面跟着镜像的名称
 -d mysql:5.7

此时查看 docker 进程

docker ps

将会看到 mysql 容器已经在运行当中

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
0dacc263341b        mysql:5.7           "docker-entrypoint.s…"   6 seconds ago       Up 4 seconds        0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

4.验证 Mysql

此时容器已创建好,可以直接用 navicat 连接到容器内的 mysql。
也可以进入到容器内部进行验证。

中间那一串 id 是你们本机上正在运行的容器 id。

docker exec -it 0dacc263341b /bin/bash

登录 mysql

root@0dacc263341b:/# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.27 MySQL Community Server (GPL)

OK!安装成功咯~

  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    491 引用 • 917 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...