🍒 Docker 是什么

Docker是基于Linux内核实现的, Docker最早采用了LXC技术, LXC是Linux原生支持的容器技术, 可以提供轻量级的虚拟化. Docker基于LXC发展, 提供了LXC的高级封装, 标准的配置方法, 在LXC的基础上, Docker提供了一系列更强大的功能. 而虚拟化技术, 比如KVM, 是基于模块实现, 后来Docker改为自己研发并开源的runc技术运行容器

🥕 Docker的优点
  • 快速部署: 短时间内可以部署成百上千个应用, 更快速交付到线上
  • 高效虚拟化: 不需要为hypervisor支持, 基于Linux内核实现应用虚拟机, 相比虚拟机大幅提高性能和效率
  • 节省开支: 提供服务器利用率, 降低IT支持
  • 简化配置: 将运行环境打包保存至容器, 使用时直接启动即可
  • 环境统一: 将开发, 测试, 生成的应用运行环境进行标准化和统一, 减少环境不一样带来的各种问题
🍠 Docker 的缺点
  • 隔离性: 多个容器共用宿主机的内核, 各应用之间的隔离不如虚拟机彻底
Docker的基本组成

Docker 怎么布置网心云 docker装网心云_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

Docker 怎么布置网心云 docker装网心云_Docker 怎么布置网心云_02

🍇 新建并启动容器(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 怎么布置网心云 docker装网心云_大数据_03

设置Docker启动时自动启动RabbitMQ

docker update rabbitmq --restart=always

启动rabbitmq_management可视化插件