写在前面:

捣腾继续,之前把一个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. LAMP模拟搭建wordpress,phpmyadmin环境

    1.安装需要的环境,centos7的mysql叫mariadb,所有的配置文件默认就可以 [root@test ~]# yum install httpd php mariadb mariadb-se ...

  2. vue——动态路由以及地址传参

    动态路由: 当我们很多个页面或者组件都要被很多次重复利用的时候,我们的路由都指向同一个组件,这时候从不同组件进入一个”共用”的组件,并且还要传参数,渲染不同的数据 这就要用到动态路由跟路由传参了! 1 ...

  3. linux分析工具之vmstat详解

    一.概述 vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况.首先我们查看下帮助.如下图所 ...

  4. 《构建之法》MSF&需求分析

    第七章 MSF MSF基本原则 推动信息共享与沟通 为共同的远景而工作 充分授权和信任 各司其职,对项目共同负责 交付增量的价值 保持敏捷,预期和适应变化 投资质量 学习所有的经验 与顾客合作 MSF ...

  5. node.js操作数据库之MongoDB+mongoose篇

    前言 node.js的出现,使得用前端语法(javascript)开发后台服务成为可能,越来越多的前端因此因此接触后端,甚至转向全栈发展.后端开发少不了数据库的操作.MongoDB是一个基于分布式文件 ...

  6. 安装web3失败问题

    ① 首先可以先通过 npm cache verify 清理下缓存,在进行安装 ② 如果还是安装失败可以尝试 ---   npm install web3@^0.20.0  或者 npm install ...

  7. mybatis的环境搭建以及问题

    1.mybatis中3个重要的类或者接口 1)SqlSessionFactoryBuilder类 用它来创建工厂对象,它重载了9次build()方法,我们常用build(inputstream)来创建 ...

  8. 从0开始学FreeRTOS-(列表&列表项)-6

    # FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像. 在FreeRTOS中,列表与列表项使用得非常多,是Free ...

  9. kubernetes垃圾回收器GarbageCollector源码分析(一)

    kubernetes版本:1.13.2 背景 由于operator创建的redis集群,在kubernetes apiserver重启后,redis集群被异常删除(包括redis exporter s ...

  10. 浅析十大常见排序(含C++代码)

    首先声明一下,本文只对十种排序算法做简单总结,并参照一些资料给出自己的代码实现,并没有对某种算法理论讲解,更详细的 了解可以参考以下资料: 1.<data structure and algor ...