写在前面:

捣腾继续,之前把一个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

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

【Linux】【自学笔记】Linux下面docker安装mysql的更多相关文章

  1. docker学习笔记-05:Docker安装mysql和redis

    一.安装mysql 1.docker hub 上查找mysql镜像 docker search mysql 2.从docker hub (使用阿里云加速器)拉取mysql镜像到本地标签为5.6 doc ...

  2. 使用docker安装mysql和redis

    本文介绍在linux下使用docker安装mysql和redis. 原文地址:代码汇个人博客 http://www.codehui.net/info/59.html 测试环境:centos7.6,do ...

  3. [转]Docker学习之四:使用docker安装mysql

    本文转自:https://blog.csdn.net/qq_19348391/article/details/82998391 Docker学习之一:注册Docker Hub账号 Docker学习之二 ...

  4. Linux学习笔记-Linux系统简介

    Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...

  5. CentOS 中利用docker安装MySQL

    1.前提条件 centos7 且内核版本高于3.10, 可通过命令: uname -r 查看内核版本 2.利用yum 安装docker 安装一些必要的系统工具: sudo yum install -y ...

  6. Docker安装MySQL,Redis,阿里云镜像加速

    Docker安装 虚拟化容器技术.Docker基于镜像,可以秒级启动各种容器.每一种容器都是一个完整的环境,容器之间相互隔离. 如果之前安装的有其他版本,卸载旧的版本. $ sudo yum remo ...

  7. docker初识-docker安装、基于docker安装mysql及tomcat、基本命令

    一.docker是什么 用go语言开发,开源的应用容器引擎,容器性能开销极低 二.整体架构图 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 r ...

  8. Docker 安装mysql以及外部访问

    (1)因为我们的镜像是linux环境下的,我所在的系统是windows系统.首先通过docker客户端切换到linux环境下. (2)使用docker pull mysql/mysql-server ...

  9. 使用Docker安装Mysql

    最近使用阿里云服务器,学习一下Docker,今天学着使用Docker安装MySQL. 首先,从阿里云的Docker Hub 上pull一个MySQL的image. [centos@loovelj~]$ ...

随机推荐

  1. 代理(Proxy)设计模式

    目录 概述 静态代理 UML类图 代码实现 代码地址 静态代理的不足 动态代理之jdk实现 UML类图 代码实现 利用JDK实现动态代理的优点 利用JDK实现动态代理的不足 代码地址 动态代理之cgl ...

  2. 微信小程序开发实战-天气小程序

    园龄6年8个月了,还一篇文章都没写过,惭愧! 最近周末做了个天气预报小程序,在这里整理一下开发过程和注意点,给对小程序开发感兴趣的伙伴们提供点参考. 废话不多说,先上图最终效果: 下面进入正文: 第一 ...

  3. 如何配置VMware客户虚拟机使用NAT模式联网通信

    本例中配置客户虚拟机(CentOS)使用NAT(网络地址转换Network Address Translation)模式进行联网到公网(互联网).客户机网段为192.168.1.0/24网段,经NAT ...

  4. 关于Python json解析过程遇到的TypeError: expected string or buffer

    关于Python json解析过程遇到的问题:(爬取天气json数据所遇到的问题http://tianqi.2345.com/) part.1 url——http://tianqi.2345.com/ ...

  5. jq中attr()和prop() 属性的区别

    query1.6中新加了一个方法prop(),一直没用过它,官方解释只有一句话:获取在匹配的元素集中的第一个元素的属性值. 大家都知道有的浏览器只要写disabled,checked就可以了,而有的要 ...

  6. Spring Security 前后端分离登录,非法请求直接返回 JSON

    hello 各位小伙伴,国庆节终于过完啦,松哥也回来啦,今天开始咱们继续发干货! 关于 Spring Security,松哥之前发过多篇文章和大家聊聊这个安全框架的使用: 手把手带你入门 Spring ...

  7. Windows10搭建开发环境----MySQL8.0.17安装

    Windows10 MySQL8解压版最新最全图文安装配置 一.官网下载解压版安装包 MySQL官网 1. 进入官网点击downloads,如图: 2. 翻到网页底部,点击如图位置: 3. 点击MyS ...

  8. PHP高效产生m个n范围内的不重复随机数(m<=n)

    该算法非常巧妙的取随机数的位置(数组的下标),替代取随机数本身,每次取到一个随机数之后,就将其在取值范围中排除,下一次仅会在剩下的数字中取,一次遍历就可以完成随机数的选取,效率相当高. functio ...

  9. Spring bean的作用域以及生命周期

    一.request与session的区别 request简介 request范围较小一些,只是一个请求. request对象的生命周期是针对一个客户端(说确切点就是一个浏览器应用程序)的一次请求,当请 ...

  10. SpringCloud之Eureka、Ribbon

    一.微服务架构 简单的说,微服务是系统架构的一种设计风格,它的主旨是将一个原本独立的系统拆分为多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进行通 ...