一.在docker容器中运用mysql与外界交互方法一:使用Dockerfile一键创建
1.第一步创建Dockerfile文件
Dockerfile:
FROM ubuntu:14.04  #使用的系统版本
MAINTAINER gaoze   #主要标签
#RUN apt-get update #更新软件库
RUN apt-get -y install mysql-server #安装mysql
RUN /etc/init.d/mysql start \&& mysql -uroot -p123456 -e "grant all privileges on *.* to 'root'@'%' identified by '123456';" \&& mysql -uroot -p123456 -e "grant all privileges on *.* to 'root'@'localhost' identified by '123456';"
#以上为登陆mysql并授权允许root账户远程与本地登陆
RUN sed -Ei 's/^(bind-address|log)/#&/' /etc/mysql/my.cnf \&& echo 'skip-host-cache\nskip-name-resolve' | awk '{ print } $1 == "[mysqld]" && c == 0 { c = 1; system("cat") }' /etc/mysql/my.cnf > /tmp/my.cnf \&& mv /tmp/my.cnf /etc/mysql/my.cnf
#以上重新配置my.cnf文件
EXPOSE 3306 #关联到3306端口
CMD ["/usr/bin/mysqld_safe"] 2.第二步shell下开始执行命令
(1)#指定docker image的名字为docker-mysql
docker build -t docker-mysql . //开始执行Dockerfile文件,”-t”表示标签,“.”代表当前目录,因为是在线安装要下载很多东西时间会比较长(2)#启动这个image,-d代表后台执行,-p代表端口映射
docker run -d -p 50001:3306 docker-mysql(3)#让我们访问mysql试试,先看看container的运行状况
docker ps (4)#发现port写的是 0.0.0.0:50001 -> 3306/tcp
mysql -h 0.0.0.0 -P 50001 -uroot -p123456ok,可以访问了,由于0.0.0.0是localhost(虽然hosts中已经屏蔽了,然而还是可以访问本地),试试mysql -h ${本机IP地址} -P 50001 -uroot -p123456那么,这样便创建了一个可用的docker image方法二:下载mysql的docker镜像-〉运行-〉授权
(1)#从官方下载docker镜像,这里选择的5.6.35版本
sudo docker pull mysql:5.6.35  (2)#创建镜像容器并保持在后台运行状态,需要指定端口关系,否则会随机分配,无法与外界交互
sudo docker run --name mysql -p 12345:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.6.35(3)#连接到容器的bash终端
sudo docker exec -it mysql bash(4)#连接到mysql数据库,my-secret-pw是root的默认密码,可以在运行镜像时定义
mysql -uroot -pmy-secret-pw(5)#修改root的登陆密码
-〉set password for root@localhost = password('123456');(6)#退出mysql连接,在mysql容器bash中执行
a)mysql -uroot -p123456 -e "grant all privileges on *.* to 'root'@'%' identified by '123456';"
b)mysql -uroot -p123456 -e "grant all privileges on *.* to 'root'@'localhost' identified by '123456';"
c)sed -Ei 's/^(bind-address|log)/#&/' /etc/mysql/my.cnf && echo 'skip-host-cache\nskip-name-resolve' | awk '{ print } $1 == "[mysqld]" && c == 0 { c = 1; system("cat") }' /etc/mysql/my.cnf > /tmp/my.cnf
d)mv /tmp/my.cnf /etc/mysql/my.cnf
(7)#在主机bash中远程登陆测试,“-P”大写表示映射的端口,可以通过sudo docker ps查看
mysql -h 192.168.161.129 -P 12345 -uroot -p123456二.在docker容器中进行镜像迁移方法:运行原始镜像-〉在容器中配置-〉保存容器为新的镜像-〉导出/push到云端
1.使用docker commit  命令来提交更新后的副本
#sudo docker commit -m "此处是文本说明"  -a  "指定的更新用户"  0b2616b0e5a8[]创建镜像的容器ID]  仓库名:tag标签2.1使用  docker save  命令导出镜像到本地文件
sudo docker save -o ubuntu_14.04.tar ubuntu:14.042.2使用 docker load 载入保存的镜像
sudo docker load --input ubuntu_14.04.tar 或者是
sudo docker load < ubuntu_14.04.tar3.运行镜像文件,必需指定映射端口
Sudo docker run --name mysqlv1 -p 12345:3306 -d docker-mysl:v1

转载于:https://my.oschina.net/urlove/blog/1544546

关于docker环境下mysql的使用相关相关推荐

  1. docker环境下mysql镜像启动后权限更改问题的解决

    问题: docker自带有mysql镜像,本文主要以mysql:5.7.24为标准,讲解用该镜像启动容器的时候,挂载的数据库目录总会被改变用户权限的问题. 1.问题回溯 如上图,可以看到,该系统是通过 ...

  2. docker mysql 漂移_Centos7系统Docker环境下Mysql部署

    1.拉取mysql镜像 [root@localhost ~]# docker pull mysql Using default tag: latest latest: Pulling from lib ...

  3. MySQL在Docker环境下运行基础

    墨墨导读:MySQL在Docker环境下运行的基础操作,本文从Docker介绍.安装Docker.MySQL安装部署几个方面展开介绍. 另:墨天轮邀请到原厂专家直播解析MySQL的性能管理,欢迎大家报 ...

  4. docker环境下solr6.0配置(中文分词+拼音)

    前言:这篇文章是基于之前的"linux环境下配置solr5.3详细步骤"(http://www.cnblogs.com/zhangyuan0532/p/4826740.html)进 ...

  5. php stomp rabbitmq,docker环境下的RabbitMQ部署,Spring AMQP使用

    AMQP简介 AMQP,即 Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.消息中间件主要用于组件之间的解耦和 ...

  6. centos7环境下MySQL安装教程

    Linux centos7环境下MySQL安装教程 作者:随缘相识-(志同道合) 字体:[增加 减小] 类型:转载 时间:2017-03-17 我要评论 这篇文章主要为大家详细介绍了Linux cen ...

  7. Docker环境下的前后端分离部署与运维 脚本

    <Docker环境下的前后端分离部署与运维>脚本 文章目录 <Docker环境下的前后端分离部署与运维>脚本 一.Docker虚拟机常用命令 二.安装PXC集群,负载均衡,双机 ...

  8. Docker 环境下常用数据库备份与恢复

    Docker 环境下常用数据库备份与恢复 文章目录 Docker 环境下常用数据库备份与恢复 docker环境 MySQL数据库 备份 恢复 MongoDB数据库 备份 恢复 PostGIS数据库 备 ...

  9. mysql8.0卸载出现问题,Windows环境下MySQL 8.0 的安装、配置与卸载

    软件版本 Windows:Windows10 MySQL:mysql-8.0.17-winx64.zip 安装步骤 1.配置环境变量 2.新建my.ini文件 文件位置:C:\Program File ...

最新文章

  1. Linux下mysql ERROR 1045,Mysql无法执行批处理
  2. TeamCola - 最好用的团队工作日志软件
  3. CSS3技巧:利用css3径向渐变做一张优惠券(转)
  4. how to undo git commit
  5. 2020年短视频用户价值研究报告
  6. 抖音音乐品牌升级 推出“炙热星河”音乐人服务平台
  7. Linux网络协议栈:一个TCP链接的耗时
  8. CSS-Box模型--理解与整理
  9. DEDECMS三级导航动态调用
  10. 浅谈对POW的认识和理解
  11. macOS 开发 - 使用 ScreenSaverView 制作屏幕保护程序
  12. AddressSanitizer: heap-buffer-overflow on address 0x602000000534 at pc 0x00000040699d bp 0x7ffce0afd
  13. TOSCA自动化测试工具
  14. 为ibus输入法框架制作新世纪五笔码表
  15. 随笔 数据库敏感数据加密存储
  16. AlarmManager 中 setRepeating用法
  17. GO--redis redigo hel 删除多个参数的传值方法
  18. 中国LiFi技术获重大突破,速度全球领先
  19. 巴比特 | 元宇宙每日必读:上海虹口启动元宇宙方向孵化项目申报,最多可获20万元补贴,有哪些要求?...
  20. python开发小工具项目_给中级Python开发者的13个练手项目,适合你不?

热门文章

  1. WiresharkTCP的状态 (SYN, FIN, ACK, PSH, RST, URG)
  2. Go语言编程—Go语言中JSON的处理(map、struct 和 JSON字符串的相互转换)
  3. 虚拟机 centos 7 nginx安装
  4. JavaEE实战班第13天
  5. 中国游戏大数据:市场规模全球第一,直播已进入黄金期
  6. 北大教授郑也夫斗胆谈了7个天大的问题,每个都非常狠,也很现实
  7. STM32之SPI从机DMA例程
  8. 接私活被公司开除。。
  9. 央视曝光:全国第九大电商平台倒了!创始人卷走260亿,1200万人被骗
  10. 两天,我把分布式事务搞完了