Docker的基本组成
- Docker主机(Host): 一个物理机或虚拟机, 用于运行
Docker
服务进程和容器, 也成为宿主机,node
节点 - Docker服务器端(Server):
Docker
守护进程, 运行Docker容器 - Docker客户端(Client): 客户端使用
docker
命令或其他工具调用docker API
- Docker仓库(Registry): 保存镜像的仓库, 官方仓库
:hub.docker.com
, 可以搭建私有仓库harbor
- Docker镜像(Images): 镜像可以理解为创建实例使用的模本, 相当于
RPM
或者DEB
包,通过这个镜像可以创建多个容器(最终服务运行的) - Docker容器(Container): 容器是从镜像生成对外提供服务的一个或一组服务, 相当于
RPM
包中的程序运行起来,可以将容器理解为就是一个简易的Linux
系统
🥝 Docker的安装并使用
首选,在学会安装Docker之前,我们要先学会如何卸载Docker,以防虚拟机中存在旧版的Docker,使得安装过程中一些不必要的问题出现
① 卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
② Docker 的安装步骤
下载需要依赖的安装包
yum install -y yum-utils
设置安装Docker的镜像仓库,系统默认是国外镜像,也同样可以选择国内比较优秀的阿里云镜像(推荐)
# 默认是国外镜像
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo #(不推荐)
#阿里云镜像
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #推荐
安装Docker相关的引擎
yum install docker-ce docker-ce-cli containerd.io
安装完成之后就可以启动Docker后使用命令来查看是否安装成功
# 启动Docker
systemctl start docker
# 判断是否安装成功
docker version
🍇 新建并启动容器(RabbitMQ)
拉取RabbitMQ镜像
docker pull rabbitmq
创建并运行RabbitMQ
docker run -d -p 15672:15672 -p 5672:5672 \
-e RABBITMQ\_DEFAULT\_VHOST=my_vhost \
-e RABBITMQ\_DEFAULT\_USER=admin \
-e RABBITMQ\_DEFAULT\_PASS=admin \
--hostname myRabbit \
--name rabbitmq \
rabbitmq
命令介绍:
-
-d
:表示在后台运行容器 -
-p
:将容器的端口5672(应用访问端口)
和15672(控制台Web端口号)
映射到主机中 -e
:指定环境变量
-
RABBITMQ_DEFAULT_VHOST
:默认虚拟机名; -
RABBITMQ_DEFAULT_USER
:默认的用户名; -
RABBITMQ_DEFAULT_PASS
:默认的用户密码;
-
--hostname
:指定主机名(RabbitMQ的一个重要注意事项是它根据所谓的节点名称
存储数据,默认为主机名) -
--name rabbitmq
:设置容器名称 -
rabbitmq
:容器使用镜像名称
查看容器启动状况
docker ps
设置Docker启动时自动启动RabbitMQ
docker update rabbitmq --restart=always
启动
rabbitmq_management
可视化插件
方法一:
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management
方法二:
docker exec -it rabbitmq /bin/bash
---------------------------------
user@7b295c46c99d /: rabbitmq-plugins enable rabbitmq_management
访问RabbitMQ后台管理可视化界面
http://ip:15672
,初次登陆默认的用户名和密码都是guest
在访问之前需要开启防火墙并将端口暴露以供访问