博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker学习(5) 在mac中创建mysql docker容器
阅读量:6597 次
发布时间:2019-06-24

本文共 1596 字,大约阅读时间需要 5 分钟。

github上有一个专门的项目,里面有各种各样常用的docker镜像,可以做为学习的示例,今天研究下其中镜像的用法,国内镜像也能找到mysql的镜像,但根据其在mac上尝试了数次,将mysql数据库文件存储在mac本机时,启动总是报错,大意是docker容器运行时,容器的当前用户mysql,由于权限不足无法mac本机上创建文件,上有人解决了这个问题,参考其解决方法,重新整理了下Dockerfile文件,内容如下(主要是增加了vim的安装,以方便直接在容器内修改mysql配置文件):

FROM mysql:latestMAINTAINER jimmy.yang 
LABEL Descripttion="This image is build for MAC to use mysql" Vendor="GitHub" Version="latest"RUN apt-get updateRUN apt-get -y install vimRUN usermod -u 1000 mysqlRUN mkdir -p /var/run/mysqldRUN chmod -R 777 /var/run/mysqld

将上面这段保存成名为"Dockerfile"的文件,然后在当前目录下,输入:

docker build -t "yjmyzz/mysql-osx:latest" .

注意最后有一个点,-t后的内容为image的tag,可以根据需要修改成自己的内容。build完成后,可用docker images ls确认下是否在本机生成了名为yjmyzz/mysql-osx的镜像,接着就可以创建mysql容器了,示例如下:

docker run -d -h mysql \  -v /Users/yjmyzz/data/db/mysql:/var/lib/mysql \  -p 0.0.0.0:3306:3306 --name mysql \  -e MYSQL_ROOT_PASSWORD=123456 yjmyzz/mysql-osx

上面有几个参数值大家根据需要自行调整:

-v 后面的/Users/yjmyzz/data/db/mysql 为mac本机的目录,用于存放mysql数据库文件(创建前要注意该目录必须为空,且必须是当前登录用户~/下,且要有读写权限)

-p 后面的部分为端口映射

MYSQL_ROOT_PASSWORD=123456为root账号的密码

 

mac上连接验证:

mysql -h192.168.99.100 -uroot -p123456 

上面的ip地址,大家换成自己虚拟机default的IP

 

mysql参数调整:

先进入容器

docker exec -it mysql sh

然后在容器内

vi /etc/mysql/my.cnf

注意:修改完mysql参数后,如果直接在容器内 service mysql restart ,容器就退出了(因为mysql stop完成的瞬间,没有命令在运行,容器生命周期结束),需要在mac机上执行

docker start mysql

 

上传镜象

为了以后使用方便,可以将mac版的mysql镜像上传到daocloud.io,命令如下:

docker login daocloud.iodocker tag yjmyzz/mysql-osx daocloud.io/yjmyzz/mysql-osx:latestdocker push daocloud.io/yjmyzz/mysql-osx:latest

提醒:daocloud push上去的镜像,目前未提供删除功能(客服说是以后会提供),一旦上传了,目前就没办法删除了,所以千万不要在镜像里放一些敏感信息。  

参考文章:

1.  

转载地址:http://mopio.baihongyu.com/

你可能感兴趣的文章
iMooc-张鑫旭 CSS
查看>>
后台管理系统相关
查看>>
使用eclipse搭建嵌入式开发环境
查看>>
ASP.NET Core的配置(3): 将配置绑定为对象[下篇]
查看>>
指静脉识别:一个“销声匿迹”了近二十年的多模态生物识别技术要“重出江湖”...
查看>>
小议阿里云"数加"平台对企业有何帮助?
查看>>
《C语言程序设计进阶教程》一2.3.2 函数实参
查看>>
智能硬件的未来发展:自主研发和AI将成为关键
查看>>
“聚光灯”下的数梦工场 首提“新型互联网”战略
查看>>
IBM预通过R语言扩展 简化Watson系统的应用
查看>>
NVIDIA与阿里云达成战略合作 共同拓展深度学习市场
查看>>
数据中心机房对环境的新要求
查看>>
JSP连接access数据库
查看>>
Loadrunner监控服务器资源
查看>>
Pandas:按条件进行行选择
查看>>
spring boot 自定义规则访问获取内部或者外部静态资源图片
查看>>
Object类
查看>>
Coding打坐
查看>>
springmvc + mybatis + ehcache + redis架构
查看>>
使用rollup打包库的一种基本配置
查看>>