前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker 上安装、启动 MySQL (图解)

Docker 上安装、启动 MySQL (图解)

作者头像
微风-- 轻许--
发布2022-04-13 15:22:47
30.3K0
发布2022-04-13 15:22:47
举报
文章被收录于专栏:java 微风java 微风

1. 在docker仓库中搜索mysql的镜像:

代码语言:javascript
复制
 docker search mysql  

下载镜像:

代码语言:javascript
复制
docker pull mysql

2. 查看本地镜像:

代码语言:javascript
复制
 docker images -a 

a. 参数-a 表示所有

b. 启动 mysql 容器,并进入 shell 命令交互界面: docker run -it mysql /bin/bash

( 参数 -i -t 等价于 -it 表示insert , 进入 ; /bin/bash 表示 shell 脚本交互界面 )

c. 可用 mysql --help | grep Distrib 查看 mysql 版本信息

( mysql --help 查看帮助信息,并在结果集中 查找 Distrib , “|”单竖线表示命令的连续执行,同时以前一个命令值域作为后一个命令的定义域 )

如下图, 我的 mysql 版本为 5.7.21 。

3. 退出 当前交互窗口:exit 。此操作会关闭 mysql 服务 。

(对于创建的bush 容器,exit 退出后,容器也会退出。

这是因为对Docker 来说,容器中的应用退出了,容器也就没有必要继续运行了。)

—— 想要服务一直运行可以:

代码语言:javascript
复制
 docker run -p 3306:3306 --name JY_mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

(参数 -p 设置端口,--name 取名 ,-e MYSQL_ROOT_PASSWORD=123456 设置 账号为 root ,密码为 123456 ,-d 表示作为一个守护进程在后台运行 )

4. 查看运行中的容器:

代码语言:javascript
复制
docker ps  

(可加参数 -a 表示所有,如果不加这个参数只会展示运行状态的容器,

按容器即服务的思想,某种程度上可以把容器也当作服务,)

这样 mysql 就已安装并成功启动,处于运行状态了。

可以通过 docker port 容器name 查看对应端口:

5. 至于相关文件地址配置 ,可以在运行容器时设置 :

代码语言:javascript
复制
docker run -p 3306:3306 --name mysql -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql
代码语言:javascript
复制
但要求对应路径对应文件已存在,才能成功挂载相内容到对应位置。

命令说明:

  • -p 3306:3306:将容器的3306端口映射到主机的3306端口
  • -v $PWD/conf/my.cnf:/etc/mysql/my.cnf:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf
  • -v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs
  • -v $PWD/data:/mysql_data:将主机当前目录下的data目录挂载到容器的/mysql_data
  • -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码

参考:http://www.runoob.com/docker/docker-install-mysql.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-04-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档