写在前面:

捣腾继续,之前把一个SpringBoot的程序安装在docker上面,参考链接:https://www.cnblogs.com/aki-stones/p/2019-11-01-note.html

最近有看Nginx的一些东西准备安装下Nginx,但是还在学习,不怎么熟悉。突然想到之前的Linux机器上面安装了mysql,是不是可以把mysql安装在docker上面。

环境:

虚拟机VMware(联网的情况下)

Java IDEA 2019.2.3

CentOS 7 64位

安装步骤:

第一步:search mysql

docker search mysql

可以看到很多mysql,选择OFFICIAL为OK的就行。如下图:

第二步:从docker中拉取镜像

docker pull mysql

等待拉取镜像成功

第三步:docker运行mysql

docker run \
--name mysqltest\
-e MYSQL_ROOT_PASSWORD= \
-p : \
-d c8ee \
--character-set-server=utf8 \
--collation-server=utf8_unicode_ci

参数说明(每一行后面的\是Linux命令换行):

-e设置容器相关参数,这里是设置root密码为123456(其他设置,可以参照官方文档:mysql-docker)

-p做端口映射,将主机的3306端口映射到容器的3306端口

-d后台启动,参数可以是镜像的IMAGE_ID(docker pull的mysql image ID 可以通过docker images查看),也可以是name:TAG,前几个字符就行。

--name 设置的docker容器的运行名字,必须是小写

最后两行是对这个容器的字符编码,和排序规则的设置

运行报错,3306端口已经被占用,需要卸载docker外面的mysql才行(估计Kill进程应该就行了),运行下面的命令查看安装软件的列表

yum installed list

卸载掉mysql主要的软件就行

yum remove mysql

卸载掉后,配置文件什么的应该还是保存的,之前修改的密码都是生效的

再次运行上面run命令

多次运行docker容器没有退出,用docker ps -a查看,存在一个同名的。

用命令删除对应容器

docker rm dc4f

dc4f为CONTAINER ID

再次运行上面的run那条命令,显示一串的字符表示启动成功

查看状态

docker ps

第四步

链接下mysql看看是否成功,输入下面命令后输入密码(因为我之前安装过mysql修改过密码,新安装的mysql需要修改密码,之前也是捣腾了很久,忘记记录了)

mysql -u root -p

安装完成

第五步

可以进入到docker容器中去查看

docker exec -it mysqltest bash

可以看到一个容器中就是一个小型的虚拟机

遇到的问题

断断续续,虚拟机没有关闭,结果打开的时候Xshell链接不上,NetworkManager 管理出错,网络连接不存在,解决办法依次执行下面的bash

systemctl stop NetworkManager

systemctl disable NetworkManager

systemctl start network.service

再次xshell连接,成功了。

参考:

1、Docker踩坑笔记[二]:Docker中使用MySQL(基于CentOS7)https://blog.csdn.net/zouguo1211/article/details/84962384
2、CentOS 初体验三: Yum 安装、卸载软件 https://blog.csdn.net/zhaoyanjun6/article/details/78894974
3、官方文档 https://hub.docker.com/_/mysql/
4、转载Error response from daemon: Conflict. The container name "/mysql is already in use by container https://blog.csdn.net/whatday/article/details/83822837
5、CentOS7 Failed to start LSB: Bring up/down解决方法 https://blog.csdn.net/crazy__qu/article/details/80535950
6、转载Failed to start LSB: Bring up/down解决方法 https://blog.csdn.net/kawnj/article/details/81667517
7、Docker 安装 MySQL https://blog.csdn.net/hualaoshuan/article/details/90815049

前人栽树后人乘凉,让更多的人一起乘凉。

最新文章

  1. 使控件具有 Tilt 效果
  2. jquery——移动端滚动条插件iScroll.js
  3. php : 基础(2)
  4. Android EidtText 光标的使用和设置
  5. Hadoop HDFS编程 API入门系列之RPC版本2(九)
  6. 关于AngularJs中的路由学习总结
  7. yii2-搜索带分页,分页的两种方式
  8. hdu 2545(并查集求节点到根节点的距离)
  9. 关于javaScript注册事件传递参数的浅析
  10. django笔记1
  11. 使用 Python 实现命令行词典(一)
  12. mysql判断条件不存在插入存在更新某字段
  13. Android开发过程中的坑及解决方法收录(六)
  14. Mybatis分页插件——PageHelper
  15. Flutter环境搭建
  16. CODEVS 2455 繁忙的都市 SCOI2005(洛谷 P2330)
  17. ArcGIS for Server 的修改IP问题
  18. PAT 1008 Elevator
  19. WOSA/XFS PTR Form解析库—测试工具预览
  20. Tesseract-OCR 训练教程(二) 合并新的训练文件

热门文章

  1. 魔鬼在细节,理解Java并发底层之AQS实现
  2. oracle表空间不足:ORA-01653: unable to extend table
  3. k8s中负载均衡器【ingress-nginx】部署
  4. 一种Cortex-M内核中的精确延时方法
  5. 【TencentOS tiny】又有一个操作系统开源
  6. 分库分表(7)--- SpringBoot+ShardingSphere实现分库分表 + 读写分离
  7. JMXtrans + InfluxDB + Grafana实现Zookeeper性能指标监控
  8. powershell加载EXE进内存运行
  9. vue——前端跨域
  10. linux-查看服务器内存使用情况(free top)