使用Docker在本地启动3个MySQL镜像
首先执行 sudo docker pull mysql
命令下载mysql官方镜像:
zifeiy@zifeiy-PC:~$ sudo docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
5e6ec7f28fb7: Pull complete
4140e62498e1: Pull complete
e7bc612618a0: Pull complete
1af808cf1124: Pull complete
ff72a74ebb66: Pull complete
3a28cb03e3dc: Pull complete
2b52dda3bd7d: Pull complete
dc89e81122ad: Pull complete
ecba98b7a588: Pull complete
109b011a27be: Pull complete
5f380f98ab52: Pull complete
cdda841f5c5c: Pull complete
Digest: sha256:048c2c616866c47c8a9fb604548d32ce842be292b56fba3d90fc07e0e143dac4
Status: Downloaded newer image for mysql:latest
然后使用 netstat -anp | grep 3306
命令是否被占用了,结果如下:
zifeiy@zifeiy-PC:~$ sudo netstat -anp | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 1044/mysqld
tcp6 0 0 :::33060 :::* LISTEN 1044/mysqld
可以看到,3306端口已经被mysqld这个进程占用了,原因是我之前已经在我的电脑上启动了mysqld服务。
所以我们接下来启动的3台mysql的Docker镜像,在确定没有端口占用的情况下,我们将他们的3306端口分别映射到宿主机的3307、3308、3309端口。
使用如下命令创建3个mysql的docker容器:
sudo docker run --name mysql-node3307 -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 -d mysql
sudo docker run --name mysql-node3308 -e MYSQL_ROOT_PASSWORD=123456 -p 3308:3306 -d mysql
sudo docker run --name mysql-node3309 -e MYSQL_ROOT_PASSWORD=123456 -p 3309:3306 -d mysql
使用 sudo docker ps
命令可以查看当前活跃的docker容器:
zifeiy@zifeiy-PC:~$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
934bd2e04221 mysql "docker-entrypoint.s…" 9 seconds ago Up 7 seconds 33060/tcp, 0.0.0.0:3309->3306/tcp mysql-node3309
0134cdc3c255 mysql "docker-entrypoint.s…" 18 seconds ago Up 16 seconds 33060/tcp, 0.0.0.0:3308->3306/tcp mysql-node3308
725fc710270e mysql "docker-entrypoint.s…" 29 seconds ago Up 28 seconds 33060/tcp, 0.0.0.0:3307->3306/tcp mysql-node3307
可以看到,三台mysql容器已经启动起来了。
然后我们通过本地的mysql命令连接着三台mysql服务器:
mysql -uroot -p123456 -h127.0.0.1 -P3307
mysql -uroot -p123456 -h127.0.0.1 -P3308
mysql -uroot -p123456 -h127.0.0.1 -P3309
我们使用上面命令的一个连接到其中一台服务器,然后在mysql命令行执行 show variables like 'version'
查看mysql的版本:
mysql> show variables like 'version';
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| version | 8.0.14 |
+---------------+--------+
1 row in set (0.00 sec)
可以看到,是最新版的8.0.14,如果需要其他版本,可以在 docker pull
的时候指定mysql大版本。
使用Docker在本地启动3个MySQL镜像的更多相关文章
- Docker 部署 halo 启动时,MySql 连接不上
原因 halo 是部署在 docker 容器内部的,而 MySql 是部署在"宿主机"上的,docker默认的网络模式是bridge,容器内127.0.0.1访问不到的,把网络模式 ...
- docker学习笔记4:利用docker hub上的mysql镜像创建mysql容器
docker hub上有官方的mysql镜像,我们可以利用它来创建mysql容器,作为一个服务容器使用. 1.下载mysql镜像 docker pull mysql 2.创建镜像 docker run ...
- 详解使用DockerHub官方的mysql镜像生成容器
详解使用DockerHub官方的mysql镜像生成容器 收藏 yope 发表于 10个月前 阅读 1506 收藏 32 点赞 1 评论 0 腾讯云·云上实验室:开发者零门槛,免费使用真机在线实验!&g ...
- 【docker】【mysql】docker安装mysql,阿里云docker镜像加速器,docker搜索查看远程仓库上的镜像,docker拉取镜像,查看本地所有镜像,查看容器的运行状况,查看容器的详细信息
在docker上安装mysql有两种方式 1.通过Dockerfile构建 2.直接在docker hub上拉取镜像安装 =================本篇采用方法2=============== ...
- docker安装启动、配置MySql
1.安装mysql镜像 docker pull mysql/mysql-server 2.docker中启动Mysql容器 docker run --name mysql01 -d -p 3306:3 ...
- MySQL 安装和启动服务,“本地计算机 上的 MySQL 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。”
MySQL 安装和启动服务,以及遇到的问题 MySQL版本: mysql-5.7.13-winx64.zip (免安装,解压放到程序文件夹即可,比如 C:\Program Files\mysql-5. ...
- Window中的Docker 拉取Mysql镜像 并在本地Navicate链接
首先本地 拉取mysql镜像 以下是所有mysql镜像 我自己下载的为5.6 下面 以5.6为例:(拉取mysql5.6镜像) docker pull mysql:5.6 创建一个容器 doc ...
- 本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动
重新安装MySQL数据库,由于安装的时候马虎,一路next(事实上,某些地方需要严格的配置,我忘记注意了),导致现在出了很多麻烦. 错误信息: 本地计算机上的MySQL服务启动后停止.某些服务在未由其 ...
- 【docker】centOS7上部署的mysql和spring boot服务,要求,mysql的时间、java程序服务的时间和宿主机的时间完全保持一致【修改mysql时区,临时和永久】【修改spring boot配置文件时区】【修改docker启动spring boot实例程序时区】
要求:centOS7上部署的mysql和spring boot服务,要求,mysql的时间.java程序服务的时间和宿主机的时间完全保持一致: ============================ ...
随机推荐
- 自定义mvc增删改查
对t_mvc_book表的增删改查 导入jar包 BaseDao package com.hmc.util; import java.lang.reflect.Field; import java.s ...
- 关于Pi
- (16)打鸡儿教你Vue.js
博客: Hexo搭建个性博客 https://hexo.io/zh-cn/ 快速.简洁且高效的博客框架 超快速度 Node.js 所带来的超快生成速度,让上百个页面在几秒内瞬间完成渲染. 支持 Mar ...
- ORA-01033:ORACLE initialization or shutdown
ora-01033 错误处理:DOS下依次执行以下命令sqlplus/nologconnect sys/密码@orcl as sysdbashutdown normalstartup mountSQL ...
- A Comprehensive Evaluation of Approaches for Built-Up Area Extraction from Landsat OLI Images Using Massive Samples(landsat8建城区提取不同方法比较)
感觉主要是数据的创新,方法就是比较了传统方法(RF,SVM,Adaboost)和CNN,输入比较了单像素输入和像素周围3,5,7大小的范围.也不是语义分割,最基本的CNN,单像素时还用的1*1的卷积 ...
- Ruby on Rails框架(1)-安装全攻略
序 关于Rails的三句箴言 (1)DRY:Don't Repeat Yourself(不要重复你自己) rails的开发理念,不要用你的代码不停的重复,rails框架给开发者提供了一套非常完善的支持 ...
- 第12组 Alpha冲刺(2/6)
Header 队名:To Be Done 组长博客 作业博客 团队项目进行情况 燃尽图(组内共享) 展示Git当日代码/文档签入记录(组内共享) 注: 由于GitHub的免费范围内对多人开发存在较多限 ...
- GO标准库flag
Go语言内置的flag包实现了命令行参数的解析. os.Args os.Args是一个[]string类型. 获取命令参数示例: func main() { if len(os.Args) > ...
- 覆盖elementui样式
前台以表格形式展示后台数据,图片或视频点击后弹出框播放,用el-dialog实现. 希望播放视频的时候不显示dialog的背景那些. 尝试 scoped 无果 <style lang=" ...
- [转]IDE 、SATA、SCSI 的区别
IDE IDE的英文全称为“Integrated Drive Electronics”,即“电子集成驱动器”,它的 本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器 .把盘体与控制器集成在 一 ...