Docker 安装镜像与使用命令

news2024/11/19 18:24:12

按照阿里云的操作文档安装 docker:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

这里仅写 Windows 版的,其他版本见上面的链接

1. 安装/升级Docker客户端
对于Windows 10以下的用户,推荐使用Docker Toolbox

Windows安装文件:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

对于Windows 10以上的用户 推荐使用Docker for Windows

Windows安装文件:http://mirrors.aliyun.com/docker-toolbox/windows/docker-for-windows/

2. 配置镜像加速器
针对安装了Docker Toolbox的用户,您可以参考以下配置步骤:

创建一台安装有Docker环境的Linux虚拟机,指定机器名称为default,同时配置Docker加速器地址。

docker-machine create --engine-registry-mirror=https://fnuvamgc.mirror.aliyuncs.com -d virtualbox default
查看机器的环境配置,并配置到本地,并通过Docker客户端访问Docker服务。

docker-machine env default
eval "$(docker-machine env default)"
docker info
针对安装了Docker for Windows的用户,您可以参考以下配置步骤:

在系统右下角托盘图标内右键菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Docker Daemon。编辑窗口内的JSON串,填写下方加速器地址:

{
  "registry-mirrors": ["https://fnuvamgc.mirror.aliyuncs.com"]
}
编辑完成后点击 Apply 保存按钮,等待Docker重启并应用配置的镜像加速器。

注意
Docker for Windows 和 Docker Toolbox互不兼容,如果同时安装两者的话,需要使用hyperv的参数启动。

docker-machine create --engine-registry-mirror=https://fnuvamgc.mirror.aliyuncs.com -d hyperv default
Docker for Windows 有两种运行模式,一种运行Windows相关容器,一种运行传统的Linux容器。同一时间只能选择一种模式运行。

运行docker。如果是 windows 系统的话,直接安装客户端,启动docker即可。如果是 linux 系统执行以下命令即可。

systemctl start docker

查看进程

ps -ef | grep docker

搜索镜像。比如搜索 rabbitmq

docker search rabbitmq

拉取镜像到本地

docker pull rabbitmq

查看已经安装的镜像

docker images

REPOSITORY TAG IMAGE ID CREATED SIZE
rabbitmq latest d445c0adc9a5 13 months ago 220MB

运行 rabbitmq

docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq

查询运行中的容器

docker ps

查询全部容器

docker ps -a 

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
06a9986bb9fe rabbitmq “docker-entrypoint.s…” 12 minutes ago Up 12 minutes 4369/tcp, 0.0.0.0:5672->5672/tcp, 5671/tcp, 15691-15692/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp rabbit

上面开头的 CONTAINER ID 下面的 06a9986bb9fe 就是容器的 ID

之前配置运行过了的话,直接启动容器即可

docker start 容器ID
docker stop 容器ID
docker restart 容器ID

查看容器的详细信息

docker inspect 容器id

新建容器时设置为自启动

docker run -d --restart=always --name my-rabbit -p 15672:15672 -p 5672:5672 rabbitmq

为已存在的容器配置自启动

docker update --restart=always 容器id 或 容器名称

取消自启动

docker update --restart=no 容器id 或 容器名称

批量设置自启动

docker update --restart=always $(docker ps -aq)

进入容器终端

docker exec -it 容器ID /bin/bash

进入终端后,使用命令比如开启 rabbitmq 的 web 管理界面

rabbitmq-plugins enable rabbitmq_management

docker 启动 rabbitmq

单节点启动

docker run -it --rm -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management

这是官方的例子

多节点启动

普通集群

#节点一,主节点,创建-v映射目录
docker run -d --hostname rabbit_host1 --name rabbitmq1 -p 15672:15672 -p 5672:5672 -e RABBITMQ_NODENAME=rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=password  -e RABBITMQ_ERLANG_COOKIE='rabbitmq_cookie' --privileged=true -v /usr/local/rabbitmq/1/lib:/var/lib/rabbitmq -v /usr/local/rabbitmq/1/log:/var/log/rabbitmq rabbitmq:management

#节点二,创建-v映射目录
docker run -d --hostname rabbit_host2 --name rabbitmq2  -p 15673:15672 -p 5673:5672 --link rabbitmq1:rabbit_host1 -e RABBITMQ_NODENAME=rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=password -e RABBITMQ_ERLANG_COOKIE='rabbitmq_cookie' --privileged=true -v /usr/local/rabbitmq/2/lib:/var/lib/rabbitmq -v /usr/local/rabbitmq/2/log:/var/log/rabbitmq rabbitmq:management

#节点三,创建-v映射目录
docker run -d --hostname rabbit_host3 --name rabbitmq3 -p 15674:15672 -p 5674:5672 --link rabbitmq1:rabbit_host1 --link rabbitmq2:rabbit_host2 -e RABBITMQ_NODENAME=rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=password -e RABBITMQ_ERLANG_COOKIE='rabbitmq_cookie' --privileged=true -v /usr/local/rabbitmq/3/lib:/var/lib/rabbitmq -v /usr/local/rabbitmq/3/log:/var/log/rabbitmq rabbitmq:management

参数说明:

--hostname 自定义Docker容器的 hostname

--link 容器之间连接,link不可或缺,使得三个容器能互相通信

--privileged=true 使用该参数,container内的root拥有真正的root权限,否则容器出现permission denied

-v 宿主机和容器路径映射

参数 RABBITMQ_NODENAME,缺省 Unix*: rabbit@$HOSTNAME
参数 RABBITMQ_DEFAULT_USER=admin
参数 RABBITMQ_DEFAULT_PASS=xdclass.net168

Erlang Cookie 值必须相同,也就是一个集群内 RABBITMQ_ERLANG_COOKIE 参数的值必须相同, 相当于不同节点之间通讯的密钥,erlang.cookie是erlang的分布式token文件,集群内各个节点的erlang.cookie需要相同,才可以互相通信

上面是启动了三个节点,就是三个rabbitmq,但仍没有形成集群。

配置普通集群

#节点一配置集群
docker exec -it rabbitmq1 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
exit

#节点二加入集群,--ram是以内存方式加入,忽略该参数默认为磁盘节点。
docker exec -it rabbitmq2 bash
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@rabbit_host1
rabbitmqctl start_app
exit

#节点三加入集群,--ram是以内存方式加入,忽略该参数默认为磁盘节点。
docker exec -it rabbitmq3 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbit_host1
rabbitmqctl start_app
exit

#查看集群节点状态,配置启动了3个节点,1个磁盘节点和2个内存节点
rabbitmqctl cluster_status

上述步骤完成后就配置好普通集群了。

集群分为两类:普通集群和镜像集群。

相同点:都拥有各个节点的元数据信息。

不同点:镜像集群会复制各个节点的交换机、队列和信息。而普通集群仅仅拥有交换机和队列,信息不会进行复制,即拥有信息的节点一旦宕机,集群内部就无法消费该信息。

配置镜像集群

去到rabbitmq控制台,一般是:ip地址:15672

image-20210522091555580

Admin->Policies

image-20210522091718524

参数说明:

ha-mode:同步节点模式
- all:全部
- exactly:设置同步节点数
- nodes:设置特定同步节点,用配置ha-params说明
ha-sync-mode:同步模式
- manual:手动
- automatic:自动
一般如同所示设置即可

完成后,就完成rabbitmq多节点的部署了。


  • 阿里云 - 容器镜像服务

  • docker启动rabbitmq - NeverLateThanBetter - 博客园 (cnblogs.com)

  • Docker部署并启动RabbitMQ_普通网友的博客-CSDN博客_docker启动rabbitmq

  • docker 启动rabbitmq - 编程之家 (jb51.cc)

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

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

相关文章

一文带你了解UI自动化测试框架

PythonSeleniumUnittestDdtHTMLReport分布式数据驱动自动化测试框架结构 1、Business:公共业务模块,如登录模块,可以把登录模块进行封装供调用 ------login_business.py from Page_Object.Common_Page.login_page import Login_Page from H…

九龙证券|首月定增市场“开门红” 上市公司密集融资谋扩产

2023年首月,A股定增市场迎来“开门红”。 据上海证券报记者统计,年初至今,已有35家公司完成定增,合计募资986.86亿元,较上年同期的477.3亿元大幅增长超100%,延续了2022年末的高位运行态势。同时&#xff0c…

前端项目发布后,如何使正在使用的用户更新为最新的版本?

1.背景 每次项目上线后,异常监控总是零零散散报一些资源加载或者解析失败的告警 仔细对比chunk的hash值会发现已经是上一版本的js文件为什么会出现这个问题呢?也不难想到,项目是单页应用,页面使用懒加载分多个chunk打包&#xff…

SDP零信任网络安全架构

安全狗零信任SDP接入解决方案基于“以身份认证为中心,以信任为基础,持续动态授权认证”的理念,打造企业全方位立体业务访问安全体系。 其SDP零信任网络安全架构如下图: SDP零信任产品优势 1、多维度终端环境感知 系统风险感知&…

浅谈--声调

声调 根据声调的有无,我们可以把世界上的语言分为声调语言和非声调语言两大类。 非声调语言,并不是说音节没有高低升降的音高变化,只是这种变化只能改变语气作用,并不能区别意义。如:在英语单词book,音高…

Nacos 初始

1.Nacos 的安装使用。 nacos的安装步骤 1.端口配置 Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。 如果无法关闭占用8848端口的进程,也可以进入nacos的conf目录,修改配置文件中的端口&am…

(考研湖科大教书匠计算机网络)第三章数据链路层-第五节:点对点协议PPP

专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:点对点协议(PPP)概述二:PPP协议组成部分三:PPP协议帧格式四:PPP协议的透明传输(1)字节填充法…

磨金石教育摄影技能干货分享|优秀摄影作品如何表现创意与思想的

在摄影活动中并不是简单的利用镜头把事物拍下来,而是要尽量的融入作者对当时当地事物的情意表达出来。利用摄影技术,因时制宜展现个人的创意,然后表达自己的思想。下面给大家分享一组摄影大赛获奖作品,看看这些获奖作品如何做到的…

vue(iviewui) 输入框历史记录

安装:npm install good-storage -S 缓存cache.js: /*把搜索的结果保存下来*/ /*用export把方法暴露出来*/ /*定义存储搜索的key _search_定义内部使用的key*/ let searches_list [] const SEARCH_MAX_LENGTH15 /*插入方法 arr存储的数据 val传入存储的值 comp…

leetcode-每日一题-1664-生成平衡数组的方案数(中等,动态规划)

时间长不做动态规划的题目,现在突然看过去有些生疏,第一眼看到这个题目想了一下暴力,然后突然注意到了题目的难度是中等,力扣里面的中等难度的题目都是没有暴力可以做出来的,目前我做这么多题来看的话,第一…

StarRocks荣获开源中国“2022 年度优秀开源技术团队”

近日,国内知名开源技术社区开源中国(OSCHINA),综合了平台上各大认证官方技术团队、开源社区账号年度发表的内容频率及质量、开展各种活动运营积极性等多方面表现,向StarRocks颁发了 OSCHINA“2022年度优秀开源技术团队…

编译原理学习笔记19——语义分析和中间代码生成4

编译原理学习笔记19——语义分析和中间代码生成419.1 常用的控制语句19.2 控制语句的属性文法19.3 控制语句的属性计算19.4 一遍扫描翻译控制语句19.5 一遍扫描翻译控制语句示例19.1 常用的控制语句 常用的控制语句 S → if E then S1S → if E then S1 else S2S → while E …

机器学习笔记之生成对抗网络(二)全局最优解的求解逻辑

机器学习笔记之生成对抗网络——全局最优解的求解逻辑引言回顾:生成对抗网络的判别过程关于生成对抗网络的一些特性最优解的求解过程引言 上一节介绍了生成对抗网络,并介绍了其判别过程,本节将介绍关于模型参数的求解逻辑。 回顾&#xff1…

建立建筑领域科学的碳排放核算方法(江亿)

中国工程院院士、清华大学江亿教授受邀参加2022年12月28日“2022中国建筑节能协会年会暨第五届全国建筑节能与绿色建筑技术创新大会”并作了题为“建立建筑领域科学的碳排放核算方法”的报告。 实现能源转型,由碳基能源转为零碳能源,是中央确定的未来战…

九龙证券|锂离子电池在安全性能上应当满足哪些条件?

锂离子电池具有分量轻、容量大、无回忆效应等优势,因而得到了普遍运用——今朝的许多数码设备都采用了锂离子电池作电源,虽然其价格相对来说比较昂贵。锂离子电池的能量密度很高,它的容量是同分量的镍氢电池的1.5~2倍,而且具有很低…

Redis集群搭建

Redis集群搭建1.单机安装Redis2.Redis主从集群2.1.集群结构2.2.准备实例和配置2.3.启动2.4.开启主从关系2.5.测试3.搭建哨兵集群3.1.集群结构3.2.准备实例和配置3.3.启动3.4.测试4.搭建分片集群4.1.集群结构4.2.准备实例和配置4.3.启动4.4.创建集群4.5.测试基于CentOS7下的Redi…

数据库session分析表

目录 Active Session 活动会话 gv$active_session_history 每秒采集一次 dba_hist_active_sess_history 每10秒采集一次 背景 说明: 常用sql 直接使用V$ACTIVE_SESSION_HISTORY的sql 与其他表和视图共同查询…

神经网络数学原理与编码逻辑(一) 无隐层模型

概述 几年前就想写这篇文章,但是要上班应付各种工作内容,在解析神经网络的理论问题上也是断断续续,加上个人能力有限,很多问题并没有研究的很明白,以及神经网络本身高维问题的复杂性,导致这个问题的理解也…

OAuth2代码流程演示

目录 一,创建项目 二,项目结构 一,创建项目 新建项目时,如果换了工作区间我们一定要记得改maven地址,不然下载插件时不仅占用C盘内存,还会下载的很慢。 导入项目 导入新项目后就会下载新的插件&#xf…

消息队列简介

提高系统性能首先考虑的是数据库的优化,之前一篇文章《数据库的使用你可能忽略了这些》中有提到过开发中,针对数据库需要注意的事项。但是数据库因为历史原因,横向扩展是一件非常复杂的工程,所有我们一般会尽量把流量都挡在数据库…