Docker 部署mysql

Docker 部署mysql

步骤

1.查找 Docker Hub 上的 MySQL 镜像

root@UbuntuBase:/usr/local/docker/mysql# docker search mysql
NAME                                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                                                  MySQL is a widely used, open-source relati...   5177                [OK]                
mariadb                                                MariaDB is a community-developed fork of M...   1602                [OK]                
mysql/mysql-server                                     Optimized MySQL Server Docker images. Crea...   361                                     [OK]
......

这里我们拉取官方的镜像

2.docker pull mysql 拉取镜像

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

3.运行容器

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

命令参数:
-p 3307:3306:将容器的3306端口映射到主机的3306端口
-v /usr/local/docker/mysql/conf:/etc/mysql:将主机当前目录下的 conf 挂载到容器的 /etc/mysql
-v /usr/local/docker/mysql/logs:/var/log/mysql:将主机当前目录下的 logs 目录挂载到容器的 /var/log/mysql
-v /usr/local/docker/mysql/data:/var/lib/mysql:将主机当前目录下的 data 目录挂载到容器的 /var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
注意:-v 宿主机的路径可以是不存在的,容器会自动创建,这里conf使用拷贝过来的自己的目录,然后data目录设为空也就是,让容器数据库自己去生成数据文件放进去,不然可能会出现数据访问权限问题,如果使用自己的数据库文件/var/lib/mysql拷贝到data目录挂载使用出现Can't read dir of './mysql/' (errno: 13 - Permission denied)问题,请进入容器将目录的所属改为mysql(命令为chown -R 所属人:所属组 目录)

4.查看容器启动情况

root@UbuntuBase:/usr/local/docker/mysql# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bc49c9de4cdf mysql:latest "docker-entrypoint..." 4 minutes ago Up 4 minutes 0.0.0.0:3306->3306/tcp mysql
使用客户端工具连接 MySQL

使用命令备注

docker run -p 3307:3306 --name docker-mysql-5.7.25 \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7.25

docker run -p 3307:3306 --name docker-mysql-5.7.25 \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7.25



docker run --name myshopAdmin -p 8081:8080 -v /usr/local/docker/tomcat/ROOT:/usr/local/tomcat/webapps/ROOT -d tomcat  

本博客为Swagger-Ranger的笔记分享,文中源码地址: https://github.com/Swagger-Ranger
欢迎交流指正,如有侵权请联系作者确认删除: liufei32@outlook.com

posted on 2019-04-08 13:44  Swagger-Ranger  阅读(436)  评论(0编辑  收藏  举报

导航