Docker创建MySQL容器的方法

发布时间 - 2026-01-10 22:28:41    点击率:

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

步骤:

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

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文件名

sudo docker build -t mysql_server . 

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

3. 启动容器

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

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

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

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

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

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

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

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

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# docker  # mysql容器  # Docker创建MySQL  # Docker容器中Mysql数据的导入/导出详解  # Docker的MySQL容器时区问题修改  # Docker创建Mysql容器的简单步骤  # Docker创建运行多个mysql容器的方法示例  # Docker创建一个mysql容器并保存为本地镜像  # 如何连接docker中的MySQL容器  # 云原生Docker创建并进入mysql容器的全过程  # 创建一个  # 可以使用  # 就可以  # 目录下  # 我只  # 并在  # 我们可以  # 可以通过  # 接了  # 大家多多  # 自动启动  # 容器里  # 目的是  # Kong  # kongxx  # hotmail  # Fanbin  # centos  # MAINTAINER  # RUN 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何配置Horizon来管理队列?(安装和使用)  LinuxShell函数封装方法_脚本复用设计思路【教程】  北京网站制作公司哪家好一点,北京租房网站有哪些?  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  如何在Windows虚拟主机上快速搭建网站?  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  如何快速查询网址的建站时间与历史轨迹?  深圳网站制作培训,深圳哪些招聘网站比较好?  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  Laravel安装步骤详细教程_Laravel环境搭建指南  Java遍历集合的三种方式  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Android仿QQ列表左滑删除操作  中山网站制作网页,中山新生登记系统登记流程?  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  如何撰写建站申请书?关键要点有哪些?  Laravel怎么清理缓存_Laravel optimize clear命令详解  如何用西部建站助手快速创建专业网站?  如何在 Pandas 中基于一列条件计算另一列的分组均值  浅谈Javascript中的Label语句  手机软键盘弹出时影响布局的解决方法  如何快速配置高效服务器建站软件?  详解Android中Activity的四大启动模式实验简述  C++用Dijkstra(迪杰斯特拉)算法求最短路径  Swift中循环语句中的转移语句 break 和 continue  如何快速搭建二级域名独立网站?  免费视频制作网站,更新又快又好的免费电影网站?  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  打造顶配客厅影院,这份100寸电视推荐名单请查收  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  如何快速搭建安全的FTP站点?  nginx修改上传文件大小限制的方法  如何在橙子建站上传落地页?操作指南详解  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  如何破解联通资金短缺导致的基站建设难题?  bing浏览器学术搜索入口_bing学术文献检索地址  详解CentOS6.5 安装 MySQL5.1.71的方法  如何生成腾讯云建站专用兑换码?  实例解析angularjs的filter过滤器  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何将凡科建站内容保存为本地文件?  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  Laravel如何实现数据库事务?(DB Facade示例)