DOCKER03_快速安装docker、数据库mysql、缓存redis

2024-05-02 01:32

本文主要是介绍DOCKER03_快速安装docker、数据库mysql、缓存redis,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • ①. 快速安装docker
  • ②. 阿里云镜像加速
  • ③. 数据库mysql5.7安装
  • ④. 缓存redis安装

①. 快速安装docker

  • ①. 官网中文安装参考手册
    (https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/#prerequisites)

  • ②. 确定你是CentOS7及以上版本(cat /etc/redhat-release)

  • ③. yum安装gcc相关
    yum -y install gcc
    yum -y install gcc-c++

  • ④. 卸载旧版本
    sudo yum remove docker*

yum -y remove docker docker-common docker-selinux docker-engine
# 2018.3官网版本
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine
  • ⑤. 安装需要的软件包 (yum install -y yum-utils device-mapper-persistent-data lvm2)

  • ⑥. 设置stable镜像仓库

# 大坑:如下的可能会报错
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 推荐
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • ⑦. 更新yum软件包索引(yum makecache fast)

  • ⑧. 安装DOCKER CE(yum -y install docker-ce)

  • ⑨. 启动docker

systemctl start docker
  • ⑩. 测试
docker version
docker run hello-world
  • ⑩①. 配置镜像加速
    (注意:daemon.json是docker的核心文件)
mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'
# 自己的阿里云镜像
{"registry-mirrors": ["https://opvvjpc5.mirror.aliyuncs.com"]
}
EOF#网易云
{"registry-mirrors": ["http://hub-mirror.c.163.com"] }#阿里云
{"registry-mirrors": ["https://{自已的编码}.mirror.aliyuncs.com"]
}
{"registry-mirrors": ["https://opvvjpc5.mirror.aliyuncs.com"]
}systemctl daemon-reload
systemctl restart docker

在这里插入图片描述

  • ⑩②. 卸载
systemctl stop docker 
yum -y remove docker-ce
rm -rf /var/lib/docker
  • ⑩③. 安装指定版本,用上面的版本号替换<VERSION_STRING>
    在这里插入图片描述

②. 阿里云镜像加速

  • ①. 网址:https://dev.aliyun.com/search.html

  • ②. 注册一个属于自己的阿里云账户(可复用淘宝账号)

  • ③. 获得加速器地址连接
    在这里插入图片描述

  • ④. 配置本机Docker运行镜像加速器
    鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是阿里云的本人自己账号的镜像地址(需要自己注册有一个属于你自己的): https://xxxx.mirror.aliyuncs.com

*  vim /etc/sysconfig/docker将获得的自己账户下的阿里云加速地址配置进
other_args="--registry-mirror=https://你自己的账号加速信息.mirror.aliyuncs.com"

在这里插入图片描述

  • ⑤. 重新启动Docker后台服务:servicectl restart docker

  • ⑥. Linux 系统下配置完加速器需要检查是否生效
    如果从结果中看到了配置的–registry-mirror参数说明配置成功,如下所示:

在这里插入图片描述

③. 数据库mysql5.7安装

  • ①. 用docker安装上mysql,去docker仓库里搜索mysql
sudo docker pull mysql:5.7# --name指定容器名字 -v目录挂载 -p指定端口映射  -e设置mysql参数 -d后台运行
# -e后面参数:初始化root用户的密码。sudo 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

在这里插入图片描述

[root@localhost vagrant]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
6a685a33103f        mysql:5.7           "docker-entrypoint.s…"   32 seconds ago      Up 30 seconds       0.0.0.0:3306->3306/tcp, 33060/tcp   mysql# 使用所护进程查看
docker exec -it mysql bin/bash 
exit;
  • ②. 修改mysql的统一编码为utf-8
vi /mydata/mysql/conf/my.conf [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# 重新启动mysql
docker restart mysql
  • ③. 测试连接(在linux下找到ip,去navicat中进行连接)
    在这里插入图片描述

在这里插入图片描述

  • ④. 设置mysql开机自启动:sudo docker update mysql --restart=always

④. 缓存redis安装

  • ①. 有坑如果直接挂载的话docker会以为挂载的是一个目录(/mydata/redis/conf/redis.conf,把redis.conf当成一个目录),所以我们先创建一个文件然后再挂载,在虚拟机中
# 在虚拟机中
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.confdocker pull redisdocker 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# 直接进去redis客户端。
docker exec -it redis redis-cli
  • ②. 默认是不持久化的。在配置文件中输入appendonly yes,就可以aof持久化了。修改完docker restart redis,
vim /mydata/redis/conf/redis.conf
# 插入下面内容
appendonly yes# 重启redis
docker restart redis
# 进入redis容器内
docker exec -it redis redis-cli
set name xiaozhi
get name

在这里插入图片描述

  • ③. 测试
    在这里插入图片描述
  • ④. 设置redis开机自启动:sudo docker update redis --restart=always

这篇关于DOCKER03_快速安装docker、数据库mysql、缓存redis的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/953126

相关文章

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的