关于docker环境下mysql的使用相关
一.在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的使用相关相关推荐
- docker环境下mysql镜像启动后权限更改问题的解决
问题: docker自带有mysql镜像,本文主要以mysql:5.7.24为标准,讲解用该镜像启动容器的时候,挂载的数据库目录总会被改变用户权限的问题. 1.问题回溯 如上图,可以看到,该系统是通过 ...
- docker mysql 漂移_Centos7系统Docker环境下Mysql部署
1.拉取mysql镜像 [root@localhost ~]# docker pull mysql Using default tag: latest latest: Pulling from lib ...
- MySQL在Docker环境下运行基础
墨墨导读:MySQL在Docker环境下运行的基础操作,本文从Docker介绍.安装Docker.MySQL安装部署几个方面展开介绍. 另:墨天轮邀请到原厂专家直播解析MySQL的性能管理,欢迎大家报 ...
- docker环境下solr6.0配置(中文分词+拼音)
前言:这篇文章是基于之前的"linux环境下配置solr5.3详细步骤"(http://www.cnblogs.com/zhangyuan0532/p/4826740.html)进 ...
- php stomp rabbitmq,docker环境下的RabbitMQ部署,Spring AMQP使用
AMQP简介 AMQP,即 Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.消息中间件主要用于组件之间的解耦和 ...
- centos7环境下MySQL安装教程
Linux centos7环境下MySQL安装教程 作者:随缘相识-(志同道合) 字体:[增加 减小] 类型:转载 时间:2017-03-17 我要评论 这篇文章主要为大家详细介绍了Linux cen ...
- Docker环境下的前后端分离部署与运维 脚本
<Docker环境下的前后端分离部署与运维>脚本 文章目录 <Docker环境下的前后端分离部署与运维>脚本 一.Docker虚拟机常用命令 二.安装PXC集群,负载均衡,双机 ...
- Docker 环境下常用数据库备份与恢复
Docker 环境下常用数据库备份与恢复 文章目录 Docker 环境下常用数据库备份与恢复 docker环境 MySQL数据库 备份 恢复 MongoDB数据库 备份 恢复 PostGIS数据库 备 ...
- mysql8.0卸载出现问题,Windows环境下MySQL 8.0 的安装、配置与卸载
软件版本 Windows:Windows10 MySQL:mysql-8.0.17-winx64.zip 安装步骤 1.配置环境变量 2.新建my.ini文件 文件位置:C:\Program File ...
最新文章
- Linux下mysql ERROR 1045,Mysql无法执行批处理
- TeamCola - 最好用的团队工作日志软件
- CSS3技巧:利用css3径向渐变做一张优惠券(转)
- how to undo git commit
- 2020年短视频用户价值研究报告
- 抖音音乐品牌升级 推出“炙热星河”音乐人服务平台
- Linux网络协议栈:一个TCP链接的耗时
- CSS-Box模型--理解与整理
- DEDECMS三级导航动态调用
- 浅谈对POW的认识和理解
- macOS 开发 - 使用 ScreenSaverView 制作屏幕保护程序
- AddressSanitizer: heap-buffer-overflow on address 0x602000000534 at pc 0x00000040699d bp 0x7ffce0afd
- TOSCA自动化测试工具
- 为ibus输入法框架制作新世纪五笔码表
- 随笔 数据库敏感数据加密存储
- AlarmManager 中 setRepeating用法
- GO--redis redigo hel 删除多个参数的传值方法
- 中国LiFi技术获重大突破,速度全球领先
- 巴比特 | 元宇宙每日必读:上海虹口启动元宇宙方向孵化项目申报,最多可获20万元补贴,有哪些要求?...
- python开发小工具项目_给中级Python开发者的13个练手项目,适合你不?
热门文章
- WiresharkTCP的状态 (SYN, FIN, ACK, PSH, RST, URG)
- Go语言编程—Go语言中JSON的处理(map、struct 和 JSON字符串的相互转换)
- 虚拟机 centos 7 nginx安装
- JavaEE实战班第13天
- 中国游戏大数据:市场规模全球第一,直播已进入黄金期
- 北大教授郑也夫斗胆谈了7个天大的问题,每个都非常狠,也很现实
- STM32之SPI从机DMA例程
- 接私活被公司开除。。
- 央视曝光:全国第九大电商平台倒了!创始人卷走260亿,1200万人被骗
- 两天,我把分布式事务搞完了