docker安装入门及redis,minio,rabbitmq应用安装

news2025/2/7 17:09:17

部分笔记来自黑马课堂:【黑马程序员Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+DockerCompose项目实战一套搞定-哔哩哔哩】 https://b23.tv/niWEhEF

一、什么是docker:

快速构建、运行、管理应用的工具。--帮助我们快速部署提高开发效率。

二、Docker是做什么的

Docker可以帮助我们下载应用镜像,创建并运行镜像的容器,从而快速部署应用。

三、什么是镜像

将应用所需的函数库、依赖、配置等与应用一起打包得到的就是镜像
(镜像相当于一个免安装的包,直接可以创建容器运行)
镜像仓库:存储和管理镜像的平台,Docker官方维护了一个公共仓库:Docker Hub

四、什么是容器

Docker会在运行镜像时创建一个隔离环境,称为容器

五、docker安装

安装Docker
本安装教程参考Docker官方文档,地址如下:

https://docs.docker.com/engine/install/centos/

  1.卸载旧版

首先如果系统中已经存在旧的Docker,则先卸载:

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

  2.配置Docker的yum库

  首先要安装一个yum工具:

yum install -y yum-utils

  安装成功后,执行命令,配置Docker的yum源:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

  3.安装Docker

yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

  4.启动和校验

# 启动Docker
systemctl start docker

# 停止Docker
systemctl stop docker

# 重启
systemctl restart docker

# 设置开机自启
systemctl enable docker

# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps

#命令来查看所有的容器,包括运行中的和已停止的容器
docker ps -a 

  5.配置镜像加速

  这里以阿里云镜像加速为例。

  5.1.注册阿里云账号

 首先访问阿里云网站:
 https://www.aliyun.com/
 注册一个账号。

  5.2.开通镜像服务

  在首页的产品中,找到阿里云的容器镜像服务

  点击后进入控制台:

  5.3.配置镜像加速

  找到镜像工具下的镜像加速器

  页面向下滚动,即可找到配置的文档说明:

  具体命令如下:

# 创建目录
mkdir -p /etc/docker

# 复制内容,注意把其中的镜像加速地址改成你自己的
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF

# 重新加载配置
systemctl daemon-reload

# 重启Docker
systemctl restart docker

六、安装redis

注意数据卷挂载要自己提前准备好宿主机对应的文件

docker run --restart=always \
-p 6379:6379 \
--name myredis \
-v /home/data/redis/redis.conf:/etc/redis/redis.conf \
-v /home/data/redis/data:/data \
-d redis:7.0.12 redis-server /etc/redis/redis.conf

docker run: 这是启动Docker容器的命令。

--restart=always: 这是容器的重启策略。always表示如果容器意外停止,Docker将自动重新启动容器。

-p 6379:6379: 这是端口映射的部分。这将容器的6379端口映射到主机的6379端口,允许主机与Redis容器通信。

--name myredis: 这为容器指定了一个名称,即myredis。

-v /home/data/redis/redis.conf:/etc/redis/redis.conf: 这是一个卷挂载操作,它将本地主机上的/home/data/redis/redis.conf文件挂载到容器内的/etc/redis/redis.conf路径,用于配置Redis。

-v /home/data/redis/data:/data: 同样是卷挂载,将本地主机上的/home/dj/redis/data目录挂载到容器内的/data路径,用于存储Redis的数据。

-d 后台运行

redis:7.0.12 redis-server /etc/redis/redis.conf: 这是容器的映像及其启动命令。它告诉Docker使用Redis版本7.0.12的映像,并在容器内运行redis-server命令,传递/etc/redis/redis.conf作为配置文件。

总的来说,这个命令启动了一个Redis容器,使用指定的配置文件和数据存储目录,同时设置了容器的重启策略以确保容器在意外停止时重新启动。

进入redis容器命令 

docker exec -it myredis bash
redis-cli
set k1 v1 #你会发现失败的
get k1
auth ningzaichun # 验证密码

七、安装minio

docker run -p 9000:9000 -p 9090:9090 \
 --name minio \
 -d --restart=always \
 -e "MINIO_ACCESS_KEY=minioadmin" \
 -e "MINIO_SECRET_KEY=minioadmin" \
 -v /home/data/minio/data:/data \
 minio/minio server \
 /data --console-address ":9090" -address ":9000"
  • docker run: 这是Docker的命令,用于运行一个新的容器。

  • -p 9000:9000 -p 9090:9090: 这部分指定了端口映射。容器内的MinIO服务器将通过端口9000对外提供服务,而端口9090用于MinIO的Web管理界面。

  • --name minio: 这部分为容器指定了一个名字,即minio,以便您可以使用该名字来管理容器。

  • -d: 这表示以后台(守护进程)模式运行容器。

  • --restart=always: 这部分表示当Docker守护进程启动时,容器将自动重新启动,以确保MinIO服务器一直可用。

  • -e "MINIO_ACCESS_KEY=minioadmin"-e "MINIO_SECRET_KEY=minioadmin": 这里设置了MinIO服务器的访问密钥和密钥。在这个示例中,访问密钥和密钥都设置为"minioadmin",请确保在生产环境中使用更强的安全凭据。

  • -v /home/data/minio/data:/data: 这部分创建了一个数据卷,将MinIO服务器的数据存储在主机的/home/data/minio/data目录中。这是为了确保数据持久性,即使容器被删除,数据也不会丢失。

  • minio/minio server /data --console-address ":9090" -address ":9000": 这是要运行的MinIO服务器的镜像和启动命令。它将MinIO服务器设置为使用/data目录来存储数据,Web管理界面通过端口9090访问,MinIO服务器本身通过端口9000提供服务。

 八、安装rabbitmq

1、拉取镜像

management:表示可以通过web页面管理。 alpine:表示是linux最小版本,不推荐新手安装

docker pull rabbitmq:management

2、创建用于挂载的目录

mkdir -p /home/data/rabbitmq/{data,conf,log} 
# 创建完成之后要对所创建文件授权权限,都设置成777 否则在启动容器的时候容易失败 
chmod -R 777 /mydata/rabbitmq

3、获取配置文件

3.1创建临时容器
docker run -d --name rabbitmq1 --restart=always --hostname=rabbitmqhost \
-e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin \
-e RABBITMQ_DEFAULT_VHOST=my_vhost \
-p 5672:5672 -p 15672:15672 \
rabbitmq:management
3.2 复制配置文件到宿主机
docker cp rabbitmq1:/etc/rabbitmq/ /home/data/rabbitmq/conf
3.3 删除临时容器
docker stop rabbitmq1 
docker rm rabbitmq1 

4、使用镜像创建容器

docker run -d --name rabbitmq --restart=always --hostname=rabbitmqhost \
-e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin \
-e RABBITMQ_DEFAULT_VHOST=my_vhost \
-v /home/data/rabbitmq/data:/var/lib/rabbitmq -v /home/data/rabbitmq/conf:/etc/rabbitmq -v /home/data/rabbitmq/log:/var/log/rabbitmq \
-p 5672:5672 -p 15672:15672 \
rabbitmq:management

–restart=always :表示随着Docker容器重启
-e :指定环境变量 RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码,rabbitmq默认账号和密码是guest
--hostname :主机名
-p :端口映射
-v :文件挂载
-d :表示后台运行
–name rabbitmq :表示启动后的容器实例名称为rabbitmq

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

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

相关文章

毕业首选 | CCF推荐1区SCI,IF:6.0,Elsevier出版社,最快仅1个月Accept!

【SciencePub学术】本期&#xff0c;小编给大家解析的是一本Elsevier旗下、CCF-C类、影响因子为6.0的中科院3区SCI。其详情如下&#xff1a; 期刊简介 COMPUTER COMMUNICATIONS ISSN&#xff1a;0140-3664 E-ISSN&#xff1a;1873-703X IF&#xff08;2022&#xff09;&a…

101、nerfstudio——ScaleAndShiftInvariantLoss

github 归一化深度图约束nerf未归一化深度重建 class ScaleAndShiftInvariantLoss(nn.Module):"""Scale and shift invariant loss as described in"Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-shot Cross-dataset Transfer&…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Toast组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Toast组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Toast组件 Toast 的应用场景也非常广泛&#xff0c;比如网络请求出错了可以弹一个…

1861_什么是H桥

Grey 全部学习内容汇总&#xff1a; GitHub - GreyZhang/g_hardware_basic: You should learn some hardware design knowledge in case hardware engineer would ask you to prove your software is right when their hardware design is wrong! 1861_什么是H桥 H桥电路可以…

MySQL:通过官方mysql server,搭建绿色版mysql服务器(Windows)

1. 官网下载mysql server 下载mysql server的zip文件&#xff0c;地址&#xff1a; https://downloads.mysql.com/archives/community/ 解压后 2. 初始化数据库 运行cmd&#xff0c; 进入bin目录&#xff0c;运行 mysqld --initialize-insecureinitialize-insecure说明如…

windows中修改my.ini出现MySQL服务正在启动或停止中或服务无法启动

问题&#xff1a; 1.修改my.ini 2.在服务里启动MySQL服务正在启动或停止中或服务无法启动 解决办法&#xff1a; 1.修改my.ini编码方式 2.删除 安装目录中的data文件夹 3.winR&#xff08;管理员身份运行cmd&#xff09; cd 到安装目录中的bin文件夹 4.在cmd中运行 mysql…

2023年国赛高教杯数学建模E题黄河水沙监测数据分析解题全过程文档及程序

2023年国赛高教杯数学建模 E题 黄河水沙监测数据分析 原题再现 黄河是中华民族的母亲河。研究黄河水沙通量的变化规律对沿黄流域的环境治理、气候变化和人民生活的影响&#xff0c;以及对优化黄河流域水资源分配、协调人地关系、调水调沙、防洪减灾等方面都具有重要的理论指导…

开源分布式搜索引擎ElasticSearch结合内网穿透远程连接

文章目录 前言1. Windows 安装 Cpolar2. 创建Elasticsearch公网连接地址3. 远程连接Elasticsearch4. 设置固定二级子域名 前言 简单几步,结合Cpolar 内网穿透工具实现Java 远程连接操作本地分布式搜索和数据分析引擎Elasticsearch。 Cpolar内网穿透提供了更高的安全性和隐私保…

分布式训练通信NCCL之Ring-Allreduce详解

&#x1f380;个人主页&#xff1a; https://zhangxiaoshu.blog.csdn.net &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️&#xff0c;如有错误敬请指正! &#x1f495;未来很长&#xff0c;值得我们全力奔赴更美好的生活&…

SKU低价了如何监测

品牌在做控价的过程中&#xff0c;需要先监测商品的价格&#xff0c;但一条链接里如果有多个SKU应该如何监测呢&#xff0c;有时多个SKU会共用一个标题&#xff0c;只会在款式中体现不同&#xff0c;这就需要监测工作非常细致&#xff0c;否则容易监测失误。 监测低价可以由人工…

C/C++ BM2链表内指定区间反转

文章目录 前言题目1. 解决方案一1.1 思路阐述1.2 源码 2. 解决方案二2.1 思路阐述2.2 源码 总结 前言 这题是BM1的升级版&#xff0c;不过是把完整的链表翻转变成了指定区间。 题目 描述 将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转&#xff0c;要求时间复杂度 …

第二证券:我国股市涨跌幅限制是多少?

我国股市涨跌幅束缚是多少&#xff1f; 1、主板&#xff1a;新股上市后的前5个交易日不设价格涨跌幅束缚&#xff0c;第6个交易日起&#xff0c;涨跌幅束缚为10%。 2、创业板&#xff1a;新股上市后的前5个交易日没有价格涨跌幅束缚&#xff0c;第6个交易日起&#xff0c;涨跌…

基于VUE3+Layui从头搭建通用后台管理系统(前端篇)十七:演示功能模块相关功能实现

一、本章内容 本章实现常见业务功能,包括文章管理、商品管理、订单管理、会员管理等功能。 1. 详细课程地址: https://edu.csdn.net/course/detail/38183 2. 源码下载地址: 点击下载 二、界面预览 三、开发视频 3.1 B站视频地址:

【Jmeter、postman、python 三大主流技术如何操作数据库?】

前言 1、前言 只要是做测试工作的&#xff0c;必然会接触到数据库&#xff0c;数据库在工作中的主要应用场景包括但不限于以下&#xff1a; 功能测试中&#xff0c;涉及数据展示功能&#xff0c;需查库校验数据正确及完整性&#xff1b;例如商品搜索功能 自动化测试或性能测试…

Pytorch深度强化学习2-1:基于价值的强化学习——DQN算法

目录 0 专栏介绍1 基于价值的强化学习2 深度Q网络与Q-learning3 DQN原理分析4 DQN训练实例 0 专栏介绍 本专栏重点介绍强化学习技术的数学原理&#xff0c;并且采用Pytorch框架对常见的强化学习算法、案例进行实现&#xff0c;帮助读者理解并快速上手开发。同时&#xff0c;辅…

swing快速入门(二十九)播放器工具条

注释很详细&#xff0c;直接上代码 上一篇 新增内容 1.工具条按钮添加响应及图标 2.为控件添加滚动条&#xff08;通用&#xff09; 3.在工具按钮之间添加自动间隔 4.设置工具条的可否移动状态&#xff08;默认可移动&#xff09; package swing21_30;import javax.swing…

Spring系列学习二、Spring框架的环境配置

Spring框架的环境配置 一、Java环境配置二、 Spring框架的安装与配置三、Maven与Gradle环境的配置四、IDE环境配置&#xff08;Eclipse与IntelliJ IDEA&#xff09;五、结语 一、Java环境配置 所有编程旅程总是得从基础开始&#xff0c;如同乐高积木大作的基座&#xff0c;首先…

Ubuntu20.04-查看GPU的使用情况及输出详解

1. 查看GPU的使用情况 1.1 nvidia-smi # 直接在终端得到显卡的使用情况 # 不会自动刷新 nvidia-smi# 重定向到文件中 nvidia-smi > nvidia_smi_output.txt# 如果输出的内容部分是以省略号表示的&#xff0c;可以-q nvidia-smi -q 1.2 nvidia-smi -l # 会自动刷新&#x…

Python高级用法:enumerate(枚举)

enumerate&#xff08;枚举&#xff09; 在编写代码时&#xff0c;为了遍历列表并获取每个元素在列表中的索引&#xff0c;我们可以使用Python中的enumerate函数。下面是一个简单的例子&#xff0c;演示了如何使用enumerate函数实现相同的功能。 原始代码片段&#xff1a; i…

keepalived高可用 | 部署Ceph分布式存储

keepalived高可用 | 部署Ceph分布式存储 keepalived高可用1. 配置第二台haproxy代理服务器部署HAProxy 2.为两台代理服务器配置keepalived配置第一台代理服务器proxy (192.168.4.5)配置第二台代理服务器proxy (192.168.4.6)修改DNS服务器 部署ceph分布式存储准备硬件实验环境准…