Docker | docker安装MySQL

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Docker | docker安装MySQL

006064f9e39642bfa9ac07788a04d7a4.png

一、前言


大家好!这篇文章主要讲解 如何在Centos7中安装Docker以及Docker安装MySQL:5.7.42

✨本篇文章已收录于 初心大数据 专栏,欢迎大家订阅获取第一资讯✨。


事情是这样的:最近在学习大数据领域的 Hive (基于Hadoop的一个数据仓库工具),希望将数据从RDBMS(关系型数据库)导入到 Hive 中,于是以MySQL为例进行,下面演示如何在 docker 中安装MySQL。


二、安装Docker镜像


事情是这样的:最近在学习大数据领域的 Hive (基于Hadoop的一个数据仓库工具),希望将数据从RDBMS(关系型数据库)导入到 Hive 中,于是以MySQL为例进行,下面演示如何在 docker 中安装MySQL。


二、安装Docker镜像



2580d2f303a04dcda99a1f95161fae19.png


Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中。


随着云原生、容器化、微服务、k8s 等技术的发展,容器 Docker 也火了一把,同时也逐渐被软件开发者在实践中进行运用。


对于大多数开发者来说,Docker 之所以被广泛使用,最主要的原因可能就是方便,它提供了一套标准化的解决方案,极大地提升了部署、发布、运维的效率。


docker官网给出的定义是:Develop faster. Run anywhere.翻译过来就是开发更快,随处运行,点击去往docker官网。这里介绍docker镜像查询网站:查询docker镜像,比如说我们想要 mysql 镜像,就可以在里面搜索MySQL,可以看到 docker 安装的命令。


3df2ccf3aa1a47d89a79c1ac1c11d6a0.png

2.2 为什么安装docker


在 docker 上安装的软件,我们很容易的将它和它的运行环境打包起来,放在另外一个环境中运行。


这里安装 docker 主要是通过 docker 安装MySQL,以前博主也发布过一篇文章:Linux安装MySQL——Linux安装MySQL(Ubuntu版),那是正常在Linux下安装MySQL的教程,这次我们采用 docker 容器方式安装。


2.3 安装docker


这里我使用的Linux系统是 Centos7-mini 版本,如果不是这个版本的安装方式会不同,需要自己去搜索安装教程

  • 1.卸载旧版本的 docker


sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine


  • 2.安装所需的软件包
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2


  • 3.设置 docker 的稳定仓库(这里使用阿里云仓库)
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


  • 4.安装 Docker Engine-Community
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Docker 安装完默认未启动。并且已经创建好 docker 用户组,但该用户组下没有用户。

  • 5.启动 docker 并测试是否安装成功
sudo systemctl start docker

使用 hello world 小例子来测试是否安装成功:

sudo docker run hello-world
  • 6.卸载 docker (这里是方法,不是要真的卸载了)

删除 docker 安装包:

sudo yum remove docker-ce


删除所有的镜像、容器和配置文件:

sudo rm -rf /var/lib/docker


三、Docker安装MySQL


3.1 常用docker命令


掌握常用的 docker 命令是必要的,因为我们要使用这个工具,就要懂如何通过它的命令达到自己想要的效果。更多相关命令,可以参考docker命令大全


  • 启动docker
sudo systemctl start docker
  • 关闭docker
sudo systemctl stop docker


e68ea4cd417c4117876ff2be9640261c.png


  • 拉取镜像

这个可以在docker镜像网站看到拉取命令。

sudo docker pull 镜像名:版本号


  • 创建容器
sudo docker run -it --name 容器名 镜像名:版本号 /bin/bash
  • 启动容器
sudo docker start 容器id
  • 停止容器
sudo docker stop 容器id


  • 查看所有容器
sudo docker ps -a


3.2 docker安装MySQL


根据上面的 docker 介绍,我们通过 docker 安装MySQL。

  • 1.打开 docker 并拉取MySQL镜像
sudo systemctl start docker

执行以下命令安装mysql:5.7.42:

sudo docker pull mysql:5.7.42
  • 2.创建MySQL的 conf 目录和 data 目录
mkdir -p /opt/module/mysql/conf /opt/module/mysql/data
  • 3.编写MySQL的配置文件 my.cnf

mysql配置文件如下,其中 datadir 目录的值就是刚才创建的 data 目录,其他的不用改,然后将这个配置文件放在刚才创建的 conf 目录下。

[client]
default-character-set = utf8mb4
[mysqld]
datadir = /opt/module/mysql/data
character_set_server = utf8mb4
collation_server = utf8mb4_bin
secure-file-priv= NULL
symbolic-links=0
!includedir /etc/mysql/conf.d/


d28b9ebdb4334cac9b10d68ea3a56e65.png


  • 4.利用镜像创建容器

在这行命令中,mysql_hadoop102是我指定的容器名,-v参数后/opt/module/mysql/conf/my.cnf是MySQL配置文件存放的目录,,/etc/mysql/my.cnf是容器内部映射的目录,同理,data目录也是对应data目录和容器内部目录,3307:3306表示主机端口和容器端口的映射,root是登录账号,sky 是mysql的password。

docker run --restart=unless-stopped -d --name mysql_hadoop102 -v /opt/module/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/module/mysql/data:/var/lib/mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=sky mysql:5.7.42

在执行完这行命令后,mysql_hadoop102容器就创建好了,并且容器是启动状态!容器只需要创建一次,以后使用都是开启即可。也就是说一个容器只需要执行一次 run 命令,之后都是执行 start 。

  • 5.启动MySQL


查看MySQL容器id:

sudo docker ps -a

bcf1507ba1e945c7b67780d7f0b56ea5.png

平时启动MySQL,执行如下命令:

sudo docker start 85a041875a9e(容器id)


进入到容器内部使用MySQL:

sudo docker exec -it mysql_hadoop102 /bin/bash


登录到MySQL数据库,输入密码回车即可:

mysql -uroot -p



70512fb418a0425595e9e92d109f47fa.png

  • 6.Navicat连接测试

填写好主机名和用户名、密码等信息,进行连接测试,连接成功!


daa6f943b30146aeaf5dcbb5e42a578d.png




至此,我们使用 Docker 安装MySQL就成功了!不知道大家明白了没有呢?如果对于某个步骤有疑问,欢迎大家在评论区给我留言,大家一起交流探讨。


四、结语


坚持做一件事真的很酷,收获也会让你惊喜。


以上就是 Docker 安装MySQL的详细教程与步骤,希望能帮助到大家。💕

✨ 本文由初心原创,首发于CSDN博客, 博客主页:主页

🍻 理想主义的花,终究会盛开在浪漫主义的土壤里!💕

🍻 如果你喜欢的话,记得点赞收藏关注,我在CSDN等你!💕

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
关系型数据库 MySQL 网络安全
Docker部署MySQL,2024网络安全通用流行框架大全
Docker部署MySQL,2024网络安全通用流行框架大全
|
2天前
|
安全 关系型数据库 MySQL
解决centos7.0安装mysql后出现access defind for user@'localhost'的错误
在使用yum 安装完mariadb, mariadb-server, mariadb-devel后
7 0
|
3天前
|
jenkins 持续交付 数据安全/隐私保护
Docker 安装 Jenkins
Jenkins 是一个独立的开源自动化服务器,可用于自动化与构建、测试、交付或部署软件相关的各种任务。
17 1
|
3天前
|
Linux Docker 容器
安装新版本Docker报错container-selinux >= 2:2.74 - 蓝易云
以上步骤应该能够帮助你解决遇到的问题。如果问题仍然存在,你可能需要寻求专业的技术支持。
16 0
|
3天前
|
Ubuntu Linux Docker
window10下安装ubuntu系统以及docker使用
window10下安装ubuntu系统以及docker使用
|
5天前
|
并行计算 Ubuntu Docker
Docker环境Ubuntu20.04安装Python3.10版本
Docker环境Ubuntu20.04安装Python3.10版本
38 0
|
5天前
|
Ubuntu Docker 容器
Ubuntu 22.04.3 LTS_安装Docker
Ubuntu 22.04.3 LTS_安装Docker
48 1
|
5天前
|
应用服务中间件 PHP nginx
安装基于docker的php运行环境
安装基于docker的php运行环境
10 0
|
5天前
|
并行计算 Shell Docker
【环境配置】Ubuntu16.04安装nvidia-docker
【环境配置】Ubuntu16.04安装nvidia-docker
19 2
|
5天前
|
关系型数据库 MySQL Linux
Linux下安装MySQL
Linux下安装MySQL
21 0