centos7从零使用Docker安装mysql

type
status
date
slug
summary
tags
category
icon
password
类别
内容

Docker 架构

Docker 包括三个基本概念:
  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
Docker 容器通过 Docker 镜像来创建。
容器与镜像的关系类似于面向对象编程中的对象与类。
notion image

安装Docker

清除Docker旧版本

notion image

安装所需的软件包

yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
notion image

设置Docker镜像源

notion image

安装 Docker Engine-Community

notion image
notion image

启动Docker

  1. 关闭防火墙
  1. 命令启动Docker
  1. 通过运行 hello-world 镜像来验证是否正确安装了 Docker Engine-Community
遇到镜像拉取失败的情况
notion image
💡
原因:镜像配置未成功
 

解决办法

查看docker配置信息

notion image
notion image
没有看到 Registry Mirrors: https:// XXXXXXXXXXXXX
说明没有配置镜像加速。

创建daemon.json配置镜像源

编写daemon.json文件
notion image

再次查看docker配置

notion image

再次拉取镜像则没问题

notion image

安装Mysql镜像

查看本地所有镜像

notion image
目前本地无镜像

查找所需镜像

  1. 官网查找
notion image
  1. 命令行搜索
notion image
notion image

拉取镜像

notion image

运行容器

参数说明:
  • --name mysql-test:将容器命名为mysql-test
  • p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
  • MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
notion image

连接容器,使用MySQL

notion image
💡
若未连接容器直接使用msyql,会显示不存在mysql

使用Navicat远程连接Mysql容器

notion image
notion image
远程连接出现拒绝连接错误
"Host xxx is not allowed to connect to this MySQL server",这个错误是因为MySQL的远程连接权限没有配置正确。MySQL默认的设置是只允许localhost(即本地)的连接,如果你想从其他的机器上连接到MySQL服务器,你需要进行一些配置。
首先,你需要登录到你的MySQL服务器。你可以通过命令行登录,命令如下:
接着,你需要更改MySQL的用户表,以允许远程连接。在MySQL的命令行界面,输入以下命令:
这个命令会切换到mysql数据库。然后,你需要更新user表,命令如下:
这个命令会将root用户的host字段设置为'%',意味着任何IP都可以远程连接到这个MySQL服务器。如果你只想允许特定的IP远程连接,你可以将'%'替换为你的IP。
然后,你需要刷新权限,命令如下:
最后,你需要重启MySQL服务器,让这些更改生效。
如何将本地项目推送至云端(码云)centos7中docker的Mysql如何备份数