【Linux】【自学笔记】Linux下面docker安装mysql
写在前面:
捣腾继续,之前把一个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的更多相关文章
- docker学习笔记-05:Docker安装mysql和redis
一.安装mysql 1.docker hub 上查找mysql镜像 docker search mysql 2.从docker hub (使用阿里云加速器)拉取mysql镜像到本地标签为5.6 doc ...
- 使用docker安装mysql和redis
本文介绍在linux下使用docker安装mysql和redis. 原文地址:代码汇个人博客 http://www.codehui.net/info/59.html 测试环境:centos7.6,do ...
- [转]Docker学习之四:使用docker安装mysql
本文转自:https://blog.csdn.net/qq_19348391/article/details/82998391 Docker学习之一:注册Docker Hub账号 Docker学习之二 ...
- Linux学习笔记-Linux系统简介
Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...
- CentOS 中利用docker安装MySQL
1.前提条件 centos7 且内核版本高于3.10, 可通过命令: uname -r 查看内核版本 2.利用yum 安装docker 安装一些必要的系统工具: sudo yum install -y ...
- Docker安装MySQL,Redis,阿里云镜像加速
Docker安装 虚拟化容器技术.Docker基于镜像,可以秒级启动各种容器.每一种容器都是一个完整的环境,容器之间相互隔离. 如果之前安装的有其他版本,卸载旧的版本. $ sudo yum remo ...
- docker初识-docker安装、基于docker安装mysql及tomcat、基本命令
一.docker是什么 用go语言开发,开源的应用容器引擎,容器性能开销极低 二.整体架构图 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 r ...
- Docker 安装mysql以及外部访问
(1)因为我们的镜像是linux环境下的,我所在的系统是windows系统.首先通过docker客户端切换到linux环境下. (2)使用docker pull mysql/mysql-server ...
- 使用Docker安装Mysql
最近使用阿里云服务器,学习一下Docker,今天学着使用Docker安装MySQL. 首先,从阿里云的Docker Hub 上pull一个MySQL的image. [centos@loovelj~]$ ...
随机推荐
- 一起来学Java注解(Annotation)
目录 一. 什么是Annotation 二. Annotation的作用 2.1 编译器使用到的注解 2.2 .class文件使用到的注解 2.3 运行期读取的注解 三. 定义Annotation 3 ...
- Java源码解析|String源码与常用方法
String源码与常用方法 1.栗子 代码: public class JavaStringClass { public static void main(String[] args) { Strin ...
- Docker系列(五):.Net Core实现k8s健康探测机制
k8s通过liveness来探测微服务的存活性,判断什么时候该重启容器实现自愈.比如访问 Web 服务器时显示 500 内部错误,可能是系统超载,也可能是资源死锁,此时 httpd 进程并没有异常退出 ...
- Unity进阶技巧 - RectTransform详解
前言 最近要做UI,有时候需要在代码中调整改变UI控件的属性,比如位置.大小等,然而在NGUI里面,控制UI控件的位置等属性的是RectTransform这个组件,这个组件继承自Transform组件 ...
- 洛谷:P3384 [HNOI2004]宠物收养场
原题地址:https://www.luogu.org/problemnew/show/P3384 题目简述 给定一些序列(没有重复数字),每个序列支持: 给定一些数k(对于每个序列不重复),每次在序列 ...
- Scala 学习笔记之集合(1)
package com.citi.scala object CollectionDemo { def main(args: Array[String]): Unit = { /** * List */ ...
- Solidity 编程实例--简单的公开拍卖
通常简单的公开拍卖合约,是每个人可以在拍卖期间发送他们的竞拍出价.为了实现绑定竞拍人的到他们的拍卖,竞拍包括发送金额/ether.如果产生了新的最高竞拍价,前一个最高价竞拍人将会拿回他的钱.在竞拍阶段 ...
- java中不创建使用第三方变量,交换两个数的值
1.直接使用算术运算法交换 先把两个数的和赋值给其中一个,然后做减法.例如num1=num1+num2; 此时num2(交换之后)就等于num1减去num2:废话不多说,直接上代码 public cl ...
- Mapper
public static T MapTo<T>(this object obj) { if (obj == null) return default(T); Mapper.CreateM ...
- 使用Spring-boot-starter标准改造项目内的RocketMQ客户端组件
一.背景介绍 我们在使用Spring Cloud全家桶构建微服务应用时,经常能看到spring-boot-xxx-starter的依赖,像spring-boot-starter-web.spring- ...