文档章节

Docker创建MySQL容器

我爱吃葱花
 我爱吃葱花
发布于 2015/04/18 17:02
字数 451
阅读 74
收藏 1


Docker创建MySQL容器

本文目的是创建一个MySQL的image,并且在新创建出来的容器里自动启动MySQL服务接受外部连接

步骤:

1. 首先创建一个目录并在目录下创建一个Dockerfile,文件内容如下

01
02
03
04
05
06
07
08
09
10
11
12
13
FROM centos:centos6
MAINTAINER Fanbin Kong "kongxx@hotmail.com"
 
RUN yum install -y mysql-server mysql
 
RUN /etc/init .d /mysqld start &&\
     mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'letmein';" &&\
     mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'letmein';" &&\
     mysql -u root -pletmein -e "show databases;"
 
EXPOSE 3306
 
CMD [ "/usr/bin/mysqld_safe" ]

2. 在Dockerfile所在目录下运行build命令来生成image文件,这里使用mysql_server作为image文件名

1
sudo docker build -t mysql_server .

运行完build命令后,可以使用“sudo docker images”来查看。

3. 启动容器

3.1 首先使用下面的命令来启动容器

1
sudo docker run --name=mysqlserver -d -P mysql_server

启动完容器后,可以使用“sudo docker ps”来查看,此时可以看PORTS列内容为“0.0.0.0:49153->3306/tcp”,容器的3306端口会被映射到宿主机器的 49153端口,这样我们就可以通过宿主机器的49153端口来连接了,比如:

1
mysql -h <宿主机器> -u root -pletmein -P 49153

3.2 另外在运行容器的时候也可以通过下面的命令

1
sudo docker run --name=mysqlserver -d -p 3306:3306 mysql_server

此时容器的3306端口会被映射到宿主机器的3306端口,这样我们就可以通过宿主机器的3306端口访问mysql了

1
mysql -h <宿主机器> -u root -pletmein

3.3 还有一种情况就是为了安全考虑,我只希望当前的宿主机器可以访问mysql服务,此时我们可以

1
sudo docker run --name=mysqlserver -d -p 127.0.0.1:3306:3306 mysql_server

本文转载自:http://www.kongxx.info/blog/?p=76

上一篇: docker资源控制
下一篇: 环境变量问题
我爱吃葱花
粉丝 28
博文 132
码字总数 35266
作品 0
海淀
数据库管理员
私信 提问
Spring boot在Docker中以JPA方式连接Mysql

背景 最近在了解Docker的使用,发现docker在集群部署方面和运维方面有比较大的优势,通过统一的依赖关系,以镜像的方式,将已经打好包的镜像文件,部署到各个节点。如果不用考虑集群的同学,...

亚林瓜子
2018/11/09
0
0
Dockerfile安装的几个实例

Dockerfile安装的几个实例 2018年07月07日 10:26:09 阅读数:49更多 个人分类: Docker 例子来源: http://www.runoob.com/docker/docker-install-redis.html Docker 安装 MySQL 方法一、通过...

linjin200
2018/08/23
0
0
Docker系列器八:docker data volume与docker bind Mouting

版权声明:知识就是为了传播! https://blog.csdn.net/weixin_36171533/article/details/81780558 意义:不能随着容器得删除而把数据删除 创建一个mysql docker run -d --name mysql -e MYS...

JESSE_JAVA
2018/08/17
0
0
Docker上的MySQL:MySQL容器的单主机网络

【编者的话】网络是Docker至关重要的一部分,本文以MySQL容器为例,详细介绍了Docker所支持的各种网络,值得一读。 对于MySQL而言,网络很重要,这是客户端应用程序和其他副本能够成功访问服...

有容云
2016/12/09
13
0
如何在docker中运行MySQL实例

通常初学者学习docker时,不太清楚怎样拉取一个Mysql镜像并使用,今天这篇文章简单介绍一下使用流程。 一.预习一下用到的docker命令: 1.docker images 列出本地主机上的镜像。 2.docker pul...

siying8419
2018/03/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring系列教程八: Spring实现事务的两种方式

一、 Spring事务概念: 事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。...

我叫小糖主
54分钟前
4
0
CentOS 的基本使用

1. 使用 sudo 命令, 可以以 root 身份执行命令, 必须要在 /etc/sudoers 中定义普通用户 2. 设置 阿里云 yum 镜像, 参考 https://opsx.alibaba.com/mirror # 备份mv /etc/yum.repos.d/CentO...

北漂的我
昨天
2
0
Proxmox VE技巧 移除PVE “没有有效订阅” 的弹窗提示

登陆的时候提示没有有效的订阅You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options. 用的是免费版的,所以每次都提示......

以谁为师
昨天
3
0
Java设计模式之外观模式(门面模式)

什么是外观模式   外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口...

须臾之余
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部