【Docker篇】Linux安装Docker、docker安装mysql、redis、rabbitmq

1.Linux安装docker

官方帮助文档:Install Docker Engine on CentOS | Docker Docs

1.1安装命令

# 1. 卸载之前的dockersudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine# 2.需要的安装包
yum install -y yum-utils
​
# 3.设置镜像的仓库(国内/国外)
# 默认是从国外的,不推荐,linux命令直接报错:连接docker官网超时 ​
yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo# 推荐使用国内的
yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新yum软件包索引
yum makecache 
​
# 4.安装docker相关的 docker-ce 社区版 而ee是企业版
yum install docker-ce docker-ce-cli containerd.io
# 5、启动docker
service docker start
​
# 6、查看docker状态
service docker status
​
​
# 7、 使用docker version查看是否按照成功
docker version
​
# 补充:设置docker开机自启动
systemctl enable docker.service
​
#查看docker是否开机自启动成功
systemctl is-enabled docker
​

1.2配置阿里云镜像加速

  • 命令列表

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://svctvo40.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

1.3删除镜像、容器

参考链接:

删除Docker镜像时image is being used by stopped container-CSDN博客

#1、停止容器
docker stop 容器id/容器名称#2、删除容器
docker rm 容器id/容器名称#3、删除镜像
docker rmi 镜像名称

2.docker配置mysql

2.1安装以及运行、远程连接

(1)安装,以及运行mysql5.7容器
#安装镜像命令,注意不能少了冒号
docker pull mysql:5.7
​
#注意:新建容器之前,先关闭之前安装的mysql8.0,因为mysql默认端口号为3306
命令:service mysql stop
​
# 新建容器;名称为mysql5.7
sudo docker run -p 3312:3306 --name mysql5.7 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=a19720603A \
-d mysql:5.7
# 参数说明 -p 3312:3306 将容器的3306端口映射到主机的3312端口
# -v 宿主机文件目录:容器内目录  将容器内文件挂载到宿主机上
# -e MYSQL_ROOT_PASSWORD=root 设置mysql密码为
# -d 后台启动
# --name 给启动容器起名字# 补充,设置容器自启动
# 首先需要确保mysql5.7是关闭的状态
docker update --restart=always mysql5.7
(2)运行mysql5.7
 docker start mysql5.7
  • 进入mysql5.7容器

docker exec -it mysql5.7 bash
  • 进入mysql环境

mysql -u root -p

输入密码:默认为root,若创建容器有指定密码,则输入指定密码

  • 创建用户admin并开启远程登录

# 创建用户
CREATE USER 'admin'@'%' IDENTIFIED BY 'aaaa19720603AAAA!!!!';# 给账号授权数据库
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';# 刷新权限
FLUSH PRIVILEGES;
(3)远程连接

使用navicat等数据库软件连接即可

2.2修改mysql配置文件

# 进入配置文件挂载的目录下
cd /mydata/mysql/conf
​
# 新增配置文件my.cnf
vim 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
# 修改配置文件之后,重启容器
docker restart mysql5.7

进入mysql5.7容器,并查看/etc/mysql目录下的my.conf配置文件是否存在

3.docker配置redis

3.1安装、运行redis

# 1、创建配置文件
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
​
# 2、下载镜像
docker pull redis
​
# 3、启动容器
# 云服务器一定要修改端口或配置密码,否则会被拉去挖矿
docker run -p 6124: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
​
# 4、直接进入redis客户端
docker exec -it redis redis-cli

3.2修改配置文件

(1)修改参数说明

修改redis.conf,使其支持远程连接

#以下为各个参数解释,不是加入到配置文件的内容#127.0.0.1 取消指定网卡的redis请求,可以接受来自任意一个主机的redis请求
protected-mode no   关闭保护模式
appendonly yes      将数据持久化
requirepass 123456  设置密码
vim /mydata/redis/conf/redis.conf
​
# 插入下面内容
#bind 127.0.0.1
protected-mode no
appendonly yes   
requirepass 123456  
​
注意,注意:不要有中文注释,否则会运行不了redis容器,原因为配置文件redis.conf中有注释中文,亲自踩了两天的坑
​
# 保存并重启
docker restart redis
​
# 进入redis客户端
docker exec -it redis redis-cli
​
# 输入密码
auth 123456
(2)远程连接相关参数配置


4.docker配置rabbitmq

# 安装命令
docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management#设置开机随docker启动
docker update rabbitmq --restart=always#端口解释
4369, 25672 (Erlang发现&集群端口)
5672, 5671 (AMQP端口)
15672 (web管理后台端口)
61613, 61614 (STOMP协议端口)
1883, 8883 (MQTT协议端口)#浏览器输入,虚拟机地址:15672,即为rabbitmq的管理界面
#账号和密码均为guest

5.docker常见命令

#1、docker设置容器开机自启动
docker update 容器名称 --restart=always#2、查看正在运行的容器
docker ps#3、查看所有安装的容器
docker ps -a#4、运行/停止/删除容器
docker start/stop/rm 容器名称/容器id#5、查看所有安装的镜像
docker images#6、删除镜像
docker rmi 镜像名称

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RK3568平台 安卓hal3适配usb camera

一.RK安卓hal3 camera框架 Camera hal3 在 android 框架中所处的位置如上图&#xff0c; 对上&#xff0c;主要实现 Framework 一整套 API 接口&#xff0c;响应其 控制命令&#xff0c;返回数据与控制参数结果。 对下&#xff0c; 主要是通 V4l2 框架实现与 kernel 的交互。3a…

gitlab 关闭Lets Encrypt证书续签

编辑 /etc/gitlab/gitlab.rb # letsencrypt[enable] nil 并更改 letsencrypt[enable] false重新加载配置 重启gitlab生效 gitlab-ctl reconfigure配置成自己的证书 external_url http://gitlab.example.com开启以下3向即可 nginx[redirect_http_to_https] true nginx[ssl_…

linux 下mongodb7版本怎么连?

概述&#xff1a;linux下的mongodb7版本默认是没有安装客户端的&#xff0c;需要下载shell客户端才能连&#xff0c;下载之后解压&#xff0c;不需要编译&#xff0c;进入bin目录就能自己运行&#xff0c;。 安装&#xff1a; linux 下mongodb7版本没有安装客户端需要当地下载…

Java:你还在想着考虑使用 tess4j 做文字识别吗?给你看看我的一点实践

需求&#xff1a;删除带有图片水印的图片 语言也设置为中文了&#xff0c;最后给我识别的文字是这样的 | AT V ! w{)" . ) ,/ R Ko 87 ’ 我能理解&#xff0c;毕竟图片很大张&#xff0c;不过不用担心&#xff0c;因为这个水印很有规律&#xff0c;就在右下方裁剪出宽 1…

基于单片机的智能燃气灶控制系统设计

摘要&#xff1a;针对传统燃气灶存在不能防干烧、不能进行温度检测、不能进行火力自动调节等问题&#xff0c;设计了一种基于单片机控制的智能燃气灶&#xff0c;它通过单片机进行控制&#xff0c;由开关模块、测温模块、语音播报模块、火力控制模块和防空烧模块五个模块组成&a…

SpringBoot整理-微服务

Spring Boot 在构建微服务架构的应用中发挥着关键作用。微服务是一种将大型复杂应用拆分为更小、更容易管理和维护的服务的架构风格。每个服务通常围绕特定的业务功能构建,并且可以独立部署、扩展和更新。Spring Boot 提供了一系列特性和工具,使得创建和维护这些独立服务变得…

Vue - 面试题持续更新

1.Vue路由模式 总共有Hash和History两种模式 Hash模式&#xff1a;在浏览器里面的符号 “#”&#xff0c;以及"#"后面的字符称之为Hash&#xff0c;用window.location.hash读取。 Hash模式的特点&#xff1a;hash是和浏览器对话的&#xff0c;和服务器没有关系&…

设计模式第三天|建造者模式 4. 自行车加工 原型模式 5. 矩形原型

目录 【设计模式专题之建造者模式】4. 自行车加工【设计模式专题之原型模式】5. 矩形原型 【设计模式专题之建造者模式】4. 自行车加工 文章链接&#xff1a;卡码网设计模式 题目链接&#xff1a;4. 自行车加工 注意重载<<函数的写法和使用方式&#xff0c;使用时与其它重…

从汇编层面理解C++ this指针

在c中&#xff0c;调用对象的非静态成员函数过程中&#xff0c;编译器会自动添加this指针作为第一个参数。我们从汇编层面看看this指针是如何传进来的。 使用如下简单的程序来演示&#xff1a; class A { private:int a[100];int b; public:void SetB(int b){ this->b b;…

设计模式通用解释及Java代码用例整理

文章目录 23种设计模式单例模式&#xff08;Singleton Pattern&#xff09;工厂模式&#xff08;Factory Pattern&#xff09;抽象工厂模式&#xff08;Abstract Factory Pattern&#xff09;建造者模式&#xff08;Builder Pattern&#xff09;原型模式&#xff08;Prototype …

Python与Go中详细的异常处理机制|面试题

&#x1f604;作者简介&#xff1a; 小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c;主要职责&#xff1a;测试开发、CI/CD 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。 &#x1f60a; 座右铭&#xff1a;不…

django+flask+python高校教材管理系统47nia

本.4论文结构 绪论&#xff1a;剖析项目可行性&#xff0c;表明研究方向。 开发技术&#xff1a;系统关键运用了Python技术性、Django框架、B/S架构和myspl数据库查询&#xff0c;并进行了详细介绍[6]。 系统分析&#xff1a;包含系统的总体构造&#xff0c;用例图和结构图。 系…

故障诊断 | 一文解决,CNN-LSTM卷积神经网络-长短期记忆神经网络组合模型的故障诊断(Matlab)

效果一览 文章概述 故障诊断 | 一文解决,CNN-LSTM卷积神经网络-长短期记忆神经网络组合模型的故障诊断(Matlab) 模型描述 CNN-LSTM模型是一种结合了卷积神经网络(Convolutional Neural Network)和长短期记忆神经网络(Long Short-Term Memory)的组合模型,常用于数据故障…

SpringBoot使用Kafka详解含完整代码

1. 前言 随着大数据和实时处理需求的增长&#xff0c;Kafka作为一种分布式流处理平台&#xff0c;与Spring Boot的集成变得尤为重要。本文将详细探讨如何在Spring Boot应用程序中设置和使用Kafka&#xff0c;从基础概念到高级特性&#xff0c;通过实际代码示例帮助读者深入理解…

大语言模型的未来进化路径及其影响

随着人工智能技术的飞速发展&#xff0c;大语言模型已成为智能时代的重要标志之一。从早期基于规则和统计学习的语言模型&#xff0c;到如今基于深度学习框架下的Transformer架构&#xff0c;如GPT系列、BERT等&#xff0c;大语言模型已经在自然语言处理领域取得了前所未有的突…

uniapp中封装一个svg转base64的组件

uniapp中由于不支持svg--》base64&#xff0c;同时无法使用h5中atob&#xff0c;这里我们采用js-base64插件实现这样一个组件&#xff0c;只要传人svg的代码即可在uniapp中转为base64&#xff0c;同时支持自定义参数&#xff0c;比如宽度&#xff0c;高度,等 1 安装 npm inst…

《动手学深度学习(PyTorch版)》笔记6.3

注&#xff1a;书中对代码的讲解并不详细&#xff0c;本文对很多细节做了详细注释。另外&#xff0c;书上的源代码是在Jupyter Notebook上运行的&#xff0c;较为分散&#xff0c;本文将代码集中起来&#xff0c;并加以完善&#xff0c;全部用vscode在python 3.9.18下测试通过&…

Python实现PDF到HTML的转换

PDF文件是共享和分发文档的常用选择&#xff0c;但提取和再利用PDF文件中的内容可能会非常麻烦。而利用Python将PDF文件转换为HTML是解决此问题的理想方案之一&#xff0c;这样做可以增强文档可访问性&#xff0c;使文档可搜索&#xff0c;同时增强文档在不同场景中的实用性。此…

【FPGA原型验证】附录基础知识:FPGA/CPLD基本结构与实现原理

聚焦Xilinx ISE 介绍Xilinx公司及其产品的基本情况,并在此基础上描述了CPLD和FPGA的内部结构及基本原理。 1.1 Xilinx公司及其产品介绍 总部设在加利福尼亚圣何塞市(San Jose)的Xilinx是全球领先的可编程逻辑解决方案的供应商,图1-1为公司标志。 Xilinx公司的业务是研发…

后端——go系统学习笔记(不断更新中......)

数组 固定大小 初始化 arr1 : [3]int{1, 2, 3} arr2 : [...]int{1, 2, 3} var arr3 []int var arr4 [4]int切片 长度是动态的 初始化 arr[0:3] slice : []int{1,2,3} slice : make([]int, 10)len和cap len是获取切片、数组、字符串的长度——元素的个数cap是获取切片的容量—…