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.hqwc.cn/news/300940.html

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

相关文章

大数据开发之Sqoop详细介绍

测试环境 CDH 6.3.1 Sqoop 1.4.7 一.Sqoop概述 Apache Sqoop&#xff08;SQL-to-Hadoop&#xff09;项目旨在协助RDBMS与Hadoop之间进行高效的大数据交流。用户可以在 Sqoop 的帮助下&#xff0c;轻松地把关系型数据库的数据导入到 Hadoop 与其相关的系统 (如HBase和Hive)中&…

Sql 动态行转列

SELECT ID, Name, [Month],auth FROM [Test].[dbo].[Test3] 数据列表&#xff1a; 1.静态行专列 Select auth, MAX( CASE WHEN [Month] 一月 then Name else null end) 一月, MAX( CASE WHEN [Month] 二月 then Name else null end) 二月, MAX…

STM32独立看门狗和窗口看门狗的区别

独立看门狗&#xff1a; 本质上是一个定时器&#xff0c;这个定时器有一个输出端&#xff0c;可以输出复位信号。 该定时器是一个 12 位的递减计数器&#xff0c;当计数器的值减到 0 的时候&#xff0c;就会产生一个复位信号。如果在计数没减到 0 之前&#xff0c;重置计数器的…

计算机毕业设计------SSM在线菜谱分享推荐平台网站

项目介绍 该项目为前后台项目&#xff0c;分为普通用户与管理员两种角色&#xff0c;前台普通用户登录&#xff0c;后台管理员登录&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登录,用户管理,一级分类管理,二级分类管理,美食管理,留言管理等功能。 用户角色包含…

如何进行安全管理

目录 安全管理 修改ECS实例登录密码 方式一&#xff1a;重置ECS实例密码 方式二&#xff1a;在实例内部修改登录密码 安全组 ECS实例加入安全组的规则 使用安全组 补丁管理 安全管理 如果希望保护网站安全&#xff0c;首先就要保护ECS实例安全&#xff0c;这需要对ECS实…

首个交通场景实例 中科驭数向重庆交开投交付网络DPU卡解决方案

中科驭数于2023年9月中标的某运营商项目&#xff0c;日前已正式向重庆交通开投科技发展有限公司&#xff08;简称“重庆交开投”&#xff09;交付。即日起&#xff0c;中科驭数KPU SWIFT-2200N S产品将正式应用于重庆交开投数字平台&#xff01; 按重庆交通开投集团数字化转型规…

【Unity学习笔记】1.创建场景

创建场景 注1&#xff1a;samplescene&#xff08;示例场景&#xff09;、standard assets&#xff08;标准资产&#xff09;、favorites&#xff08;收藏夹&#xff09;、terrain&#xff08;地形&#xff09;。 注2&#xff1a;favorites用于存放各种资源&#xff1b;sample…

CNAS中兴新支点——软件兼容测试从哪些方面判断

软件的兼容性是衡量软件好坏的一个重要指标&#xff0c;在具体测试中可以从以下几个方面来判断&#xff1a; 1、操作系统兼容性 软件可以运行在哪些操作系统平台上&#xff0c;理想的软件应该具有与平台无关性。有些软件在不同的操作系统平台上重新编译即可运行&#xff0c;有…

从零到一:分布式缓存技术初探

一、什么是分布式缓存&#xff1f; 分布式缓存是将缓存数据存储在多个节点上&#xff0c;并通过负载均衡算法将请求分发到不同的节点的缓存系统。分布式缓存具有以下优势&#xff1a; 提高数据访问速度&#xff1a;分布式缓存将数据存储在内存中&#xff0c;可以直接访问&…

全球市场拓展指南:出海企业品牌力觉醒与长期主义引领

近年来&#xff0c;随着全球化的深入推进&#xff0c;越来越多的企业纷纷踏上了出海之路&#xff0c;希望在国际市场中寻找新的增长点。然而&#xff0c;仅仅依靠产品和服务的优势已经不能满足出海企业在激烈的国际市场竞争中立于不败之地。在这个背景下&#xff0c;企业们慢慢…

Docker部署Nexus Maven私服并实现远程访问Nexus界面

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《linux深造日志》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 1. Docker安装Nexus2. 本地访问Nexus3. Linux安装Cpolar4. 配置Nexus界面公网地址5. 远程访问 Nexus界面6. 固定N…

等腰三角形两底角相等

等腰三角形定义: 是指至少有两边相等的三角形。相等的两个边称为这个三角形的腰 二.证明 1.AP垂直于BC 等腰△ABC,AB和AC是腰,p是BC的中点 ∴ p 是 B C 中点 ∴p是BC中点 ∴p是BC中点 ∵ △ A B P 全等△ A C P ∵△ABP全等△ACP ∵△ABP全等△ACP ∴ A P 交线 B C 与点 P…