创建mysql docker容器

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

1

2

3

4

5

6

7

8

9

FROM mysql:latest

MAINTAINER jimmy.yang yjmyzz@126.com

LABEL Descripttion="This image is build for MAC to use mysql" Vendor="GitHub" Version="latest"

RUN apt-get update

RUN apt-get -y install vim

RUN usermod -u 1000 mysql

RUN mkdir -p /var/run/mysqld

RUN chmod -R 777 /var/run/mysqld

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

1

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

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

1

2

3

4

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上连接验证:

1

mysql -h192.168.99.100 -uroot -p123456

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

mysql参数调整:

先进入容器

1

docker exec -it mysql sh

然后在容器内

1

vi /etc/mysql/my.cnf

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

1

docker start mysql

上传镜象

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

1

2

3

docker login daocloud.io

docker tag yjmyzz/mysql-osx daocloud.io/yjmyzz/mysql-osx:latest

docker push daocloud.io/yjmyzz/mysql-osx:latest

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

docker mysql的更多相关文章

  1. Docker Mysql主从同步配置搭建

    Docker Mysql主从同步配置搭建 建立目录 在虚拟机中建立目录,例如路径/home/mysql/master/data,目录结构如下: Linux中 新建文件夹命令:mkdir 文件夹名 返回 ...

  2. Linux(Manjaro) - Docker - MySQL 安装配置

    Linux(Manjaro) - Docker - MySQL 安装配置 拉取mysql镜像 # 使用网易的 MySQL 镜像地址 docker pull hub.c.163.com/library/ ...

  3. docker + mysql安装sonarqube

    docker sonarqube地址:https://hub.docker.com/_/sonarqube docker mysql地址:https://hub.docker.com/_/mysql ...

  4. Docker Mysql数据库双主同步配置方法

    一.背景 可先查看第一篇<Docker Mysql数据库主从同步配置方法>介绍 二.具体操作 1.创建目录(~/test/mysql_test1): --mysql --mone --da ...

  5. Docker Mysql数据库主从同步配置方法

    一.背景 最近在做内部平台架构上的部署调整,顺便玩了一下数据库的主从同步,特此记录一下操作- 二.具体操作 1.先建立数据存放目录(-/test/mysql_test/) --mysql --mast ...

  6. SpringBoot Docker Mysql安装,Docker安装Mysql

    SpringBoot Docker Mysql安装,Docker安装Mysql ================================ ©Copyright 蕃薯耀 2018年4月8日 ht ...

  7. Docker MySQL基本操作

    1 启动mysql实例 docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:t ...

  8. docker+MySQL+读写分离

    一.拉取mysql镜像文件docker pull mysql二.查看镜像docker images三.创建配置文件目录mkdir /data/docker/mysql/{master,slave} - ...

  9. Docker Mysql主主同步配置搭建Demo

    主主同步配置和主从配置很相似,仅需稍做修改就可以了,对主从配置有疑问可以查看 上一篇文章. 进行Docker操作前,先建立目录,我的路径是d:/docker/mysql,目录结构如下: --mysql ...

  10. Docker Mysql主从同步配置搭建Demo

    进行Docker操作前,先建立目录,我的路径是d:/docker/mysql,目录结构如下: --mysql --master --data --conf --my.cnf --slaver --da ...

随机推荐

  1. Ubuntu修改文件关联

    * 在system setting>details中可以设置一部分文件关联,很弱很破. * 右键open with只能临时选择打开方式,并且可选的打开方式十分有限.如果是自己编的程序,在列表中没 ...

  2. C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据

    转载:http://www.cnblogs.com/kivenhou/archive/2013/02/22/2921954.html 操作List前请设置SPWeb的allowUnsafeUpdate ...

  3. Day Five (beta)

    站立式会议 站立式会议内容总结 331 今天:爬虫抓取豆瓣数据; 明天:数据展示在话题详情页,话题页修改 442 今天:了解聊天模块 遇到的问题:无 明天:编写聊天模块 439 今天:学习 遇到困难 ...

  4. Beta版本冲刺Day2

    会议讨论 628:       和建平同学一起合作解决了如何获取勾选事件,将勾选的课程信息存入select表格中.但是当运行更新后的项目遇到了无法连接数据库的问题了,目前还在解决中. 因为碰到了这样的 ...

  5. 给li设置float浮动属性之后,无法撑开外层ul的问题。(原址:http://www.cnblogs.com/cielzhao/p/5781462.html)

    最近在项目中有好几次遇到这个问题,感觉是浮动引起的,虽然用<div style="clear:both"></div>解决了,但自己不是特别明白,又在网上查 ...

  6. Linux开机后 systemd 自动启动 ceph osd mon进程

    机房操作失误导致机架或主机掉电是偶尔发生的事情,那么怎么在这种情况下,让Ceph服务随OS启动而快速启动呢 ? 如下是一个简单方法: 在OSD主机上执行如下命令: sudo ln -s /usr/li ...

  7. java.io.FileNotFoundException: D:\xxx\yyy (拒绝访问。)问题

    File file=new File(fileAllName); FileWriter fw=new FileWriter(file); 在Java的 FileWriter 方法时 系统抛出了异常 j ...

  8. jsoup-提示java.net.SocketTimeoutException:Read timed out

    使用Jsoup.connect(url).get()连接某网站时偶尔会出现 java.net.SocketTimeoutException:Read timed out异常. 原因是默认的Socket ...

  9. Sigmaplot激活码获取地址

    SigmaPlot是一款高质量绘图软件,可以帮助用户以超简单表格形式来更清楚有效地展现工作结果,有了SigmaPlot你可以不用在电脑前久坐就可以制作出高质量的图形. 软件完美兼容Microsoft ...

  10. remove duplicated gene pair using awk

    cat input.txt TRINITY_DN106621_c0_g1_i1 TRINITY_DN129833_c0_g1_i2 TRINITY_DN106621_c0_g1_i1 TRINITY_ ...