写在前面:

捣腾继续,之前把一个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. S2-052 漏洞复现

    Structs2框架已知的漏洞编号如下: S2-005 S2-009 S2-016 (含S2-013) S2-019 S2-020 S2-021 S2-032 S2-037(含S2-033) DevM ...

  2. chown、chgrp、chmod

    1.权限对应的数值 一开始理解权限对应的数值总是要去用二进制去算例如r-x是多少rwx是多少,后来才知道r就 是4,w就是2,x就是1,不管权限怎么变,他们对应的数值就是对应位相加.. 权限对于文件来 ...

  3. 实战SpringCloud响应式微服务系列教程(第七章)

    本章节继续介绍:Flux和Mono操作符(二) 1.条件操作符 Reactor中常用的条件操作符有defaultIfRmpty.skipUntil.skipWhile.takeUntil和takeWh ...

  4. 手把手教你安装Eclipse最新版本的详细教程 - 大佬的鸡肋,菜鸟的盛宴(非常详细,非常实用)

    简介 首先声明此篇文章主要是针对测试菜鸟或者刚刚入门的小伙们或者童鞋们,大佬就没有必要往下看了. 写这篇文章的由来是因为后边要用这个工具,但是由于某些原因有部分小伙伴和童鞋们可能不会安装此工具,为了方 ...

  5. bootstrap-table 页脚总计(自定义统计总数)

    •首先给table添加属性: showFooter: footer js代码如下: //初始化bootstrapTableinitBootstrapTable: function () { var o ...

  6. Linux入门(用户操作及权限)

    Linux入门之 用户操作及权限   在一个公司里,老板与员工有上下级之分,员工与员工间也有上下级或同级之分.每个级别在公司的职责不同,权限也不同.在Linux操作系统中也一样,不同的用户身份拥有着不 ...

  7. mpvue 图片上传预览组件封装

    <template> <div class="j-pic-upload"> <div class="j-upload-btn" @ ...

  8. 【Java基础】Java开发过程中的常用工具类库

    目录 Java开发过程中的常用工具类库 1. Apache Commons类库 2. Guava类库 3. Spring中的常用工具类 4. 其他工具 参考 Java开发过程中的常用工具类库 1. A ...

  9. 从零开始入门 K8s | Kubernetes 网络概念及策略控制

    作者 | 阿里巴巴高级技术专家  叶磊 一.Kubernetes 基本网络模型 本文来介绍一下 Kubernetes 对网络模型的一些想法.大家知道 Kubernetes 对于网络具体实现方案,没有什 ...

  10. 刨ThreadLocal的坟

    ThreadLocal是大家比较常用到的,在多线程下存储线程相关数据十分合适.可是很多时候我们并没有深入去了解它的原理. 首选提出几个问题,稍后再针对这些问题一一解答. 提到ThreadLocal,大 ...