当前位置: 首页 > news >正文

Docker容器中安装Mysql和Redis等全过程(以在阿里云服务器中的Docker安装Mysql和Redis为例)

文章目录

  • 首先得现在服务器中安装Docker容器
  • 1、docker 安装 mysql
    • (1)下载镜像文件
    • (2) 创建实例并启动
    • (3) MySQL 配置
    • (4)通过容器的 mysql 命令行工具连接
  • 2、docker 安装 redis
    • (1)下载镜像文件
    • (2) 创建实例并启动
    • (3) 使用 redis 镜像执行 redis-cli 命令连接
  • 查看正在运行的容器
  • Docker常用命令

首先得现在服务器中安装Docker容器

参考文章:linux环境下安装及配置Docker全过程(以阿里云CentOs服务器为例)

1、docker 安装 mysql

(1)下载镜像文件

可在DockerHub中找到想要安装的版本:https://hub.docker.com/
在终端(要先连接)中输入以下内容:

docker pull mysql:5.7

说明:mysql:5.7表示安装mysql5.7的版本,具体版本号可在https://hub.docker.com/中搜索mysql查看,若想下载最新的版本则为:mysql:latest

(2) 创建实例并启动

在终端中输入:

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

参数说明
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
第一个3306表示云服务器中端口,第二个3306表示容器中的端口
--name mysql表示新建的该容器名字为mysql(也可以设为其他名字)
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
-d mysql:5.7:注意此处的版本号要和对应的mysql版本号一致!

(3) MySQL 配置

使用vim编辑器编辑my.cnf文件

vi /mydata/mysql/conf/my.cnf

加入到vim编辑器界面后按“i”进入到插入模式
将以下内容粘贴到编辑器中:

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

按“Esc”退出插入模式
键入:wq保存并退出vim编辑器

注意:skip-name-resolve用于解决 MySQL 连接慢的问题
在配置文件中加入如下,并重启 mysql
[mysqld]
skip-name-resolve
解释:
skip-name-resolve:跳过域名解析

(4)通过容器的 mysql 命令行工具连接

docker exec -it mysql mysql -uroot -proot

-p后的为刚刚初始化root用户时的密码

附:进入容器文件系统:

docker exec -it mysql /bin/bash

2、docker 安装 redis

(1)下载镜像文件

同安装mysql时相似,需先下载镜像文件:

docker pull redis

(2) 创建实例并启动

mkdir -p /mydata/redis/conf

touch /mydata/redis/conf/redis.conf

docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
	-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
	-d redis redis-server /etc/redis/redis.conf

(3) 使用 redis 镜像执行 redis-cli 命令连接

docker exec -it redis redis-cli

查看正在运行的容器

docker ps

Docker常用命令

https://www.runoob.com/docker/docker-command-manual.html

相关文章:

  • java---SPFA算法---判断负权回路(每日一道算法2022.8.31)
  • 操作系统(Linux)
  • 基础 | 并发编程 - [LockSupport]
  • Uboot命令应用
  • kettle-实现不同数据库之间的数据交换
  • OPPO小布4.0:软件定义硬件,智能定义“助手”
  • python获取模块文件路径
  • java计算机毕业设计企业人事管理系统源码+数据库+系统+lw文档+mybatis+运行部署
  • 机器学习算法1---KNN
  • Java--Spring事务
  • 卷妹带你回顾Java基础每日更新Day12
  • UM5006-RT-Thread ART-Pi 数据 flash 擦写手册
  • 【Halcon知识】外轮廓线的算子
  • 能安装Chrome扩展和油猴脚本的手机浏览器
  • 使用Android studio开发一个数独游戏APP 系列第一讲
  • 《Java编程思想》读书笔记-对象导论
  • Docker容器管理
  • ECS应用管理最佳实践
  • HTML5新特性总结
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JavaScript异步流程控制的前世今生
  • Js基础知识(一) - 变量
  • Redux系列x:源码分析
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • web标准化(下)
  • 电商搜索引擎的架构设计和性能优化
  • 前端性能优化--懒加载和预加载
  • 首页查询功能的一次实现过程
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 优秀架构师必须掌握的架构思维
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • #define,static,const,三种常量的区别
  • #ubuntu# #git# repository git config --global --add safe.directory
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (学习日记)2024.01.09
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转)重识new
  • ***通过什么方式***网吧
  • .CSS-hover 的解释
  • .htaccess 强制https 单独排除某个目录
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .Net接口调试与案例
  • .NET委托:一个关于C#的睡前故事
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @property python知乎_Python3基础之:property
  • [].slice.call()将类数组转化为真正的数组