【云原生】Docker的安装与使用(适用于初学者)_云原生



文章目录

🍒 Docker 是什么

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

🥕 Docker的优点

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

🍠 Docker 的缺点

  • 隔离性: 多个容器共用宿主机的内核, 各应用之间的隔离不如虚拟机彻底

Docker的基本组成

【云原生】Docker的安装与使用(适用于初学者)_云原生_03

  • 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的安装与使用(适用于初学者)_linux_04

🍇 新建并启动容器(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的安装与使用(适用于初学者)_容器_05

设置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​

【云原生】Docker的安装与使用(适用于初学者)_云原生_06

在访问之前需要开启防火墙并将端口暴露以供访问

firewall-cmd --zone=public --add-port=15672/tcp --permanent        
firewall-cmd --reload



【云原生】Docker的安装与使用(适用于初学者)_云原生_07

【云原生】Docker的安装与使用(适用于初学者)_云原生_08