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

部分笔记来自黑马课堂:【黑马程序员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.mzph.cn/news/577999.shtml

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

相关文章

【中小型企业网络实战案例 二】配置网络互连互通

​【中小型企业网络实战案例 一】规划、需求和基本配置-CSDN博客 热门IT技术视频教程&#xff1a;https://xmws-it.blog.csdn.net/article/details/134398330?spm1001.2014.3001.5502 配置接入层交换机 1.以接入交换机ACC1为例&#xff0c;创建ACC1的业务VLAN 10和20。 <…

nginx反向代理服务器及负载均衡服务配置

一、正向代理与反向代理 正向代理&#xff1a;是一个位于客户端和原始服务器(oricin server)之间的服务器&#xff0c;为了从原始服务器取得内容&#xff0c;客户端向代理发送一个请求并指定目标(原始服务器)&#xff0c;然后代理向原始服务器转交请求并将获得的内容返回给客户…

南邮最优化期末复习

黄金分割法 单纯形法&#xff08;大M法&#xff09; 求min, σ找最小&#xff0c;终止条件全部大于0 θ找最小&#xff0c;且不能为负数求max, σ找最大&#xff0c;终止条件全部小于0 θ找最小&#xff0c;且不能为负数 例题 二阶段单纯形法想 分支定界法&#xff08;第二章&…

【单调队列】LeetCode1499:满足不等式的最大值

涉及知识点 单调队列 题目 给你一个数组 points 和一个整数 k 。数组中每个元素都表示二维平面上的点的坐标&#xff0c;并按照横坐标 x 的值从小到大排序。也就是说 points[i] [xi, yi] &#xff0c;并且在 1 < i < j < points.length 的前提下&#xff0c; xi &…

iMazing2024免费版iOS移动设备管理软件

以自己的方式管理iPhone&#xff0c;让备受信赖的软件为您传输和保存音乐、消息、文件和数据。安全备份任何 iPhone、iPad 或 iPod touch。iMazing 功能强大、易于使用&#xff0c;称得上是 Mac 和 PC 上最好的 iOS 设备管理器。 正在为iTunes繁琐的操作发愁&#xff1f;设备数…

leetcode——打家劫舍问题汇总

本章汇总一下leetcode中的打家劫舍问题&#xff0c;使用经典动态规划算法求解。 1、梦开始的地方——打家劫舍&#xff08;★&#xff09; 本题关键点就是不能在相邻房屋偷东西。 采用常规动态规划做法&#xff1a; 根据题意设定dp数组&#xff0c;dp[i]的含义为&#xff1a…

Typora Mac激活

首先去官网选择mac版本下载安装 typora下载 然后打开typora包内容找到 /Applications/Typora.app/Contents/Resources/TypeMark/page-dist 找到/static/js/Licen..如下图 编辑器打开上面文件夹 输入 hasActivated"true"e.hasActivated 进行搜索 将它改为 hasA…

人工智能:网络犯罪分子的驱动力

随着 2024 年的临近&#xff0c;是时候展望今年的网络安全状况了。由于网络犯罪日益复杂&#xff0c;预计到 2025 年&#xff0c;全球网络安全成本将增至 10.5 万亿美元。 人工智能的使用不断发展&#xff0c;网络犯罪分子变得越来越有创造力 我们注意到&#xff0c;联邦调查…

Dash中的callback的使用 多input 6

代码说明 import plotly.express as pxmport plotly.express as px用于导入plotly.express模块并给它起一个别名px。这样在后续的代码中&#xff0c;你可以使用px来代替plotly.express&#xff0c;使代码更加简洁。 plotly.express是Plotly的一个子模块&#xff0c;用于快速创…

路由器常见故障分析及处理方法!

对当前的大多数网络来说&#xff0c;无论是实现网络互连还是访问Internet&#xff0c;路由器是不可或缺的。 由于路由器的重要性&#xff0c;对它的管理就成了维护人员的日常工作中重要的一部分&#xff0c;而路由器的故障分析和排除也是令许多维护人员极为困扰的问题之一。 路…

jenkins Job华为云EIP变更带宽

引言: 在数字化时代&#xff0c;云服务资源的弹性管理是企业降低运营成本、提高效率的关键手段。通过弹性公网IP&#xff08;EIP&#xff09;服务&#xff0c;企业可以实现按需计费&#xff0c;优化网络支出。然而&#xff0c;根据业务流量的不同阶段调整计费模式&#xff0c;…

批量归一化

目录 一、BN层介绍 1、深层神经网络存在的问题 2、批量归一化的解决方案 3、BN层作用位置 4、BN层在做什么 5、总结 二、批量归一化从零实现 1、实现批量归一化操作 2、创建BN层 3、对LeNet加入批量归一化 4、开始训练 三、简明实现 1、对LeNet加入批量归一化 2…

【SD】IP-Adapter 进阶 - 垫图 【画风重绘-必看】

目录 关于SD1.5的画风迁移 修改动作-方法一&#xff1a;提示词 修改动作-方法二&#xff1a;openpose 关于SD1.5的画风迁移 1.5测试模型&#xff1a;flat2DAnimerge_v30_2.safetensors [b2c93e7a89] 测试图&#xff1a; 文生图&#xff1a;best quality,masterpiece, co…

20231225在WIN10下使用SSH连接Ubuntu20.04.6

20231225在WIN10下使用SSH连接Ubuntu20.04.6 2023/12/25 23:03 https://jingyan.baidu.com/article/5552ef479e1856108ffbc9e3.html Win10怎么开启SSH功能 Win10怎么开启SSH功能,下面就一起来看看吧! 工具/原料 华硕天选4 Windows10 方法/步骤 点击左下角的开始菜单,打开Wind…

Redis过期删除策略和内存淘汰策略

1、设置Redis键过期时间 Redis提供了四个命令来设置过期时间&#xff08;生存时间&#xff09;。 EXPIRE <key> <ttl> &#xff1a;表示将键 key 的生存时间设置为 ttl 秒。 PEXPIRE <key> <ttl> &#xff1a;表示将键 key 的生存时间设置为 ttl 毫秒。…

SICP : The Elements of Programming

好的计算机编程语言应具备的三个特性 基础单元表达式&#xff0c;计算机编程语言最最最基础单元&#xff0c;理应具备的表达式组合的能力&#xff0c;能够通过基础单元表达式组合成更复杂的元素抽象的能力&#xff0c;能通过复杂的元素抽象成更高层的单元 基础单元表达式 加 …

快速入门学习定时任务框架-xxljob

定时任务框架-xxljob 简介 主要用于分布式任务调度&#xff0c;可以将任务调度和执行分布在多个节点上。它提供了一个集中式的管理平台&#xff0c;支持动态添加、修改、删除任务&#xff0c;以及任务的分片执行&#xff0c;确保任务在分布式环境中的高可用性的一个框架 spr…

C语言中函数调用和嵌套

函数是C语言的基本组成元素 函数调用 根据函数在程序中出现的位置有下列三种函数调用方式&#xff1a; 将函数作为表达式调用 将函数作为表达式调用时&#xff0c;函数的返回值参与表达式的运算&#xff0c;此时要求函数必须有返回值 int retmax(100,150); 将函数作为语句…

大数据Doris(四十一):物化视图简单介绍

文章目录 物化视图简单介绍 一、适用场景

Windows系统配置pytorch环境,Jupyter notebook编辑器安装使用(深度学习本地篇)

如今现在好一点的笔记本都自带英伟达独立显卡&#xff0c;对于一些简单的深度学习项目&#xff0c;是不需要连接服务器的&#xff0c;甚至数据量不大的话&#xff0c;cpu也足够进行训练学习。我把电脑上一些以前的笔记整理一下&#xff0c;记录起来&#xff0c;方便自己35岁事业…