Linux中安装Docker,并使用Docker安装MySQL和Redis

1、安装docker

1卸载系统之前的docker

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

2、安装Docker-CE

#安装必须的依赖 
sudo yum install -y yum-utils \
	device-mapper-persistent-data lvm2
#查看是否安装成功
yum list installed | grep -E 'yum-utils|device-mapper-persistent-data|lvm2'
#设置dockerrepo的yum位置 
#sudo yum-config-manager --add-repo  #https://download.docker.com/linux/centos/docker-ce.repo 
#下面是国内镜像网站
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
	#安装docker,以及docker-cli 
	sudo yum install docker-ce docker-ce-cli containerd.io

[!CAUTION]

注意

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 的解释

执行 sudo yum clean allsudo yum makecache 命令后,你已经清理了YUM的缓存并重新生成了缓存。这是解决YUM相关错误的一个常见步骤,可以解决因缓存导致的一些问题。接下来,你可以根据之前遇到的问题采取不同的策略:

  1. 重新尝试安装:

清理缓存并重新生成缓存后,你可以尝试重新执行之前的安装命令:

  sudo yum install -y docker-ce docker-ce-cli containerd.io
  1. 解决依赖问题:

如果之前的错误是由于依赖问题导致的,你可能需要手动解决这些依赖。这可能包括检查模块状态、寻找特定版本的软件包或使用模块管理命令来安装所需的依赖。

  1. 使用 --nobest 选项:

如果YUM无法找到最佳候选软件包,你可以使用 --nobest 选项来安装可用的软件包,即使它们不是最佳候选:

 sudo yum install --nobest -y docker-ce docker-ce-cli containerd.io
  1. 使用 --allowerasing 选项:

如果安装过程中存在软件包冲突,可以使用 --allowerasing 选项来允许YUM替换或重新安装软件包:

sudo yum install --allowerasing -y docker-ce docker-ce-cli containerd.io

执行 sudo yum install --allowerasing -y docker-ce docker-ce-cli containerd.io 命令后,如果Docker成功安装,你可以按照以下步骤进行后续操作:

  1. 启动Docker服务:

安装完成后,你需要启动Docker服务。可以使用以下命令:

  sudo systemctl start docker
  1. 设置Docker服务开机自启:

为了确保Docker在系统启动时自动启动,可以使用以下命令:

sudo systemctl enable docker
  1. 验证Docker安装:

验证Docker是否安装成功,可以通过运行一个测试容器来实现:

sudo docker run hello-world

这个命令会下载一个测试镜像,并运行它。如果Docker安装正确,你将看到一条消息,说明它正在容器中运行。如果不成功也没关系,可能是网络的问题

  1. 检查Docker版本:

如果需要,你可以检查Docker的版本,以确认安装了哪个版本:

sudo docker --version
  1. 非root用户运行Docker:

默认情况下,Docker需要root权限来运行。如果你希望以非root用户身份运行Docker,可以添加用户到docker组:

sudo usermod -aG docker your-username

your-username替换成你的用户名。之后,你需要注销并重新登录,或者重启系统以使这个变更生效。

3、启动docker

sudo systemctl start docker

4、设置docker开机自启

sudo systemctl enable docker 

5、配置docker镜像加速

#阿里云,容器镜像服务 
#下面只是例子,没有实际效果
sudo mkdir -p /etc/docker 
sudo tee/etc/docker/daemon.json<<-'EOF' 
{
	"registry-mirrors"["https://***************.mirror.aliyuncs.com"] } 
EOF 
sudo systemctl daemon-reload 
sudo systemctl restart docker
#操作过程如下:

操作过程:

图1
在这里插入图片描述

图2

在这里插入图片描述

2、docker 安装mysql

1、下载镜像文件

docker pull mysql:5.7 

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端口
#-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 用户的密码

MySQL 配置

vi /mydata/mysql/conf/my.cnf 
[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连接慢的问题 
#在配置文件中加入如下,并重启mysql 
#[mysqld] 
#skip-name-resolve 
#解释: 
#skip-name-resolve:跳过域名解析 

3、通过容器的mysql命令行工具连接

docker exec -it mysql mysql -uroot -p

在这里插入图片描述

[!CAUTION]

注意

恭喜,你已经成功使用 docker exec -it 命令进入了名为 mysql 的 Docker 容器,并启动了 MySQL 客户端,以 root 用户身份登录。现在你处于 MySQL 的命令行界面,可以执行 SQL 命令来管理数据库。

以下是一些基本的 MySQL 命令,你可以在 mysql> 提示符下尝试:

查看所有数据库:

SHOW DATABASES;
选择一个数据库(例如 mysql 数据库):

USE mysql;
查看当前数据库中的所有表:

SHOW TABLES;
查看某个表的结构(例如 user 表):

DESC user;
退出 MySQL 客户端:

执行命令 \q 或者输入 exit,然后按回车键。
获取帮助:

在 MySQL 提示符下输入 help; 或者 \h 来获取帮助信息。
请记住,MySQL 命令通常以分号 ; 结尾,并且每个命令之后都需要按回车键来执行。

4、设置root远程访问

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; 
flush privileges;

[!CAUTION]

注意

这段代码用于在 MySQL 中授予 root 用户从任何主机('%' 表示任意主机)连接并拥有所有数据库和表的所有效权利(ALL PRIVILEGES)。同时,该命令还包含了 WITH GRANT OPTION,这意味着 root 用户还可以将权限授予其他用户。

具体来说,这段代码执行了以下操作:

  1. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root':

- 授予 root 用户所有权限。

- ON *.* 表示这些权限适用于所有数据库和表。

- TO 'root'@'%' 表示这些权限适用于从任何 IP 地址连接的 root 用户。

- IDENTIFIED BY 'root' 设置 root 用户的密码。

  1. WITH GRANT OPTION:

- 允许 root 用户授予或撤销其他用户的权限。

  1. FLUSH PRIVILEGES;:

- 这个命令用于重新加载授权表,使权限更改立即生效。在某些情况下,如果是通过 CREATE USERGRANT 命令添加用户或授予权限,可能需要执行此命令。

执行位置:

这段代码应该在 MySQL 容器中执行,而不是在 Linux 用户环境中执行。你需要先进入 MySQL 容器的 MySQL 客户端:

docker exec -it mysql mysql -uroot -p

在提示输入密码时,输入 root 用户的密码(假设你之前设置的密码是 root),然后你将进入 MySQL 的命令行界面。在那里,你可以执行上述 SQL 命令。

安全警告:

使用 root 用户并从任何主机('%')授予所有权限可能会带来安全风险,因为它允许任何人从任何地方以 root 用户身份连接到你的 MySQL 服务器。在生产环境中,建议仅授予必要的权限,并且仅允许受信任的主机连接。此外,使用强密码和考虑使用更安全的认证机制也是非常重要的。

如果你正在设置开发环境或者测试环境,并且了解潜在的安全风险,那么你可以按照上述方式进行操作。但对于生产环境,请采取更严格的安全措施。

5、进入容器文件系统

docker exec -it mysql /bin/bash

3、docker 安装redis

1、下载镜像文件

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

如果您想进入 Redis 容器进行操作,可以使用:

docker exec -it redis /bin/bash

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/685154.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

抽象,自定义函数,递归

6.1懒惰是一种美德 如果你 在一个地方编写了一些代码&#xff0c;但需要在另一个地方再次使用&#xff0c;该如何办呢&#xff1f; 假设你编写了一段代码&#xff0c;它计算一些斐波那契数&#xff08;一种数列&#xff0c;其中每个数都是前两个数的和&#xff09;。 现在的…

Freeswitch-soundtouch-变声开发

文章目录 一、介绍二、安装soundtouch2.1 源码安装方式&#xff08;推荐&#xff09;2.1.1下载源码2.1.2解压2.1.3 编译2.1.4 迁移&#xff08;可选&#xff09; 2.2 apt-get 安装 三、使用3.1 终端使用3.2 Freeswitch使用3.2.1编译Freeswitch的mod_soundtouch3.2.2启用 mod_so…

Qt图像处理技术九:得到QImage图像的灰度直方图

效果 原理 得到灰度化值&#xff0c;将灰度化的值带入0-255内&#xff0c;增加&#xff0c;得到可视化图形 源码 // 绘制直方图 QImage drawHistogram(const QImage &image) {QVector<int> histogram(256, 0);// 计算图像的灰度直方图for (int y 0; y < image…

static的用法

static一般用于修饰局部变量&#xff0c;全局变量&#xff0c;函数 1 static修饰局部变量 是因为改为static int a1;后&#xff0c;出了作用域&#xff0c;不会销毁a的值&#xff0c;想要理解其本质&#xff0c;首先先看一下这个图&#xff1a; static修饰局部变量时&#xf…

【代码随想录】【算法训练营】【第30天】 [322]重新安排行程 [51]N皇后 [37]解数独

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 30&#xff0c;周四&#xff0c;好难&#xff0c;会不了一点~ 题目详情 [322] 重新安排行程 题目描述 322 重新安排行程 解题思路 前提&#xff1a;…… 思路&#xff1a;回溯。 重点&…

yolo水果品质:新鲜腐烂橙子检测/分类数据集(3k+图像全标注)

yolo水果品质检测之新鲜腐烂橙子数据集&#xff0c;整个数据集共包含3852张图像&#xff0c;yolo标注完整&#xff08;txt格式&#xff09;,标注类别分为新鲜橙子&#xff08;0&#xff09;和腐烂橙子&#xff08;1&#xff09;两类 图像统一格式&#xff1a;jpg 图像统一分辨…

windows10子系统wsl ubuntu22.04下GN/ninja环境搭建

打开windows10子系统 ubuntu22.04 ubuntu22.04: 首先需要 安装ninja $sudo apt install ninja-build $ ninja --version 1.10.0 安装clang $sudo apt install clang $clang --version Ubuntu clang version 14.0.0-1ubuntu1.1安装gn Github: https://github.com/timniederh…

ar地产沙盘互动体验提供更加丰富多彩的楼盘信息

AR增强现实技术作为其重要分支&#xff0c;正逐步在全球市场中崭露头角。国内的AR增强现实技术公司正致力于链接物理世界和虚拟世界&#xff0c;为用户带来沉浸式的AR体验。它们打造线上线下联动的一站式文旅景区数字化运营平台&#xff0c;让您在享受旅游的同时&#xff0c;也…

什么是Vector Database(向量数据库)?

什么是Vector Database(向量数据库)&#xff1f; 向量数据库是向量嵌入的有组织的集合&#xff0c;可以随时创建、读取、更新和删除。向量嵌入将文本或图像等数据块表示为数值。 文章目录 什么是Vector Database(向量数据库)&#xff1f;什么是嵌入模型(Embedding Model)&…

用蒙特卡罗积分法近似求解定积分的值及举例

一、背景知识 1、连续随机变量的概率密度函数 对于连续型随机变量的概率密度函数&#xff08;PDF&#xff09;&#xff0c;其在整个定义域上的积分必须等于1。这是概率密度函数的一个基本属性&#xff0c;它确保了随机变量取任何值的概率之和等于1&#xff0c;符合概率论的公…

家用洗地机哪个牌子好?专家推荐榜单助你挑选最合适的洗地机

随着科技不断发展&#xff0c;智能家居产品逐渐融入我们日常生活中&#xff0c;洗地机作为家庭清洁必备工具&#xff0c;越来越受到消费者青睐&#xff0c;但是面对市面上种类繁多的洗地机&#xff0c;我们如何挑选到适合自己的产品呢&#xff1f;专家推荐榜单助你挑选最合适的…

在vue项目中使用markdown-it回显markdown文本

前言 其实有很多插件都是可以用来回显markdown文本的,这个插件也是其中之一。 文档地址:markdown-it | markdown-it 中文文档 这个文档在vue2和vue3里面都可以使用,所以还是比较推荐的 使用 安装 npm install markdown-it --save 应用 <template><div><…

正邦科技(第10天)

这里写目录标题 任务一任务二任务三 任务一 下位机报上来的十进制数据进行解析&#xff1a; 360170 固定报文&#xff0c;一个F对应一个字节&#xff0c;温度值&#xff0c;湿度值&#xff0c;烟雾浓度值是十进制转16进制&#xff0c;告警状态需要高低位移位&#xff0c;然后再…

【Pycharm】功能介绍

1.Code Reformat Code 格式化代码&#xff0c;可以帮助我们去自动调整空格等&#xff0c;根据python语法规范自动调整 2.Settings 1.创建py文件默认填充模版 3.读写py文件编码格式一致性 顶部代码指定的编码方式作用&#xff1a; 可以保证python2/3解释器在读取文件的时候按…

个人项目———密码锁的实现

布局组件 布局效果 组件绑定 密码锁的实现代码 using TMPro; using UnityEngine; using UnityEngine.UI;public class PasswordPanel : MonoBehaviour {// public Button button;// 所有按键的父物体public Transform buttonPanel;// 输入字符串的文本框public TMP_Text input…

英国树莓派五大天王和你相约上海国际嵌入式展!

6月12日-14日 上海世博展览馆3号馆 H3馆 237展位 树莓派(Raspberry Pi),这个曾经让全球掀起"创客热潮"的小型单板电脑,如今已经成为嵌入式行业不可或缺的一员。作为行业先驱,树莓派基金会正携手团队,亮相2024年6月12日至6月14日在上海举办的 Embedded World上海国…

【Elasticsearch】es基础入门-03.RestClient操作文档

RestClient操作文档 示例&#xff1a; 一.初始化JavaRestClient &#xff08;一&#xff09;引入es的RestHighLevelClient依赖 <!--elasticsearch--> <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest…

基于springboot+vue的家乡特色推荐系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

SpringBoot高手之路03-事务传播行为

那么就是 a事务调用了b事务 日志技术 当解散部门的时候,那么就直接进行 操作日志 就是什么时间点吧部门解散 成功失败都需要记录日志 首先一个日志表 那么日志技术,在电商平台,不论是否支付订单,那么都需要保存订单信息 这个时候我们就使用传播事务 传播事务首先是出现在两…

云南区块链商户平台发票助手成品

目录 1 概述2 功能对比3 项目演示图4 核心逻辑4.1智能赋码4.2 解密方法4.3 登录与检测4.4 发票金额大写转换4.5 检查登录是否失效4.6 验证码识别5 演示效果6 项目部署6.1 Web站点部署6.1.1 环境6.1.2 前端6.1.3 后端6.2 Docker部署6.2.1 构建镜像6.2.2 创建容器6.3.3 访问项目域…