【Docker】1、认识 Docker 和安装 Docker

简介: 【Docker】1、认识 Docker 和安装 Docker

零、项目部署问题

大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题:

✏️① 依赖关系复杂,容易出现兼容性问题

✏️ ② 开发、测试、生产环境有差异

一、Docker 简介

✏️ ① Docker 可解决众多复杂依赖的兼容性问题

将应用的 Libs(函数库)、Deps(依赖)、配置 和应用一起打包,

将每个应用放到一个隔离容器去运行,避免互相干扰

Ubuntu 和 CentOS 都是基于 Linux 内核开发的 Linux 的发行版,只是系统应用不同,提供的函数库有差异

✏️ ② Docker 可解决不同系统环境的问题

  • Docker 将应用程序和所需要调用的系统(如 Ubuntu)函数库一起打包
  • Docker 运行到不同操作系统时,直接基于打包的库函数运行,借助于操作系统的 Linux 内核来运行

🎹 Docker 如何解决大型项目依赖关系复杂,不同组件依赖的兼容性问题?

① Docker 允许开发中将应用、依赖、函数库、配置一起打包,形成可移植镜像

② Docker 应用运行在容器中,使用沙箱机制,相互隔离


🎹 Docker 如何解决开发、测试、生产环境有差异的问题

Docker 镜像中包含完整运行环境(包括系统函数库),仅依赖系统的 Linux内核,因此可以在任意 Linux 操作系统上运行

二、Docker 和虚拟机

虚拟机(virtual machine)可用于在操作系统中模拟硬件设备,然后运行另一个操作系统。

Docker 和虚拟机的差异

  • docker 是一个系统进程虚拟机是在操作系统中模拟硬件设备,然后安装其他操作系统的工具( 虚拟机是在操作系统中的操作系统
  • docker 体积小、启动速度快、性能好;虚拟机体积大、启动速度慢、性能一般

三、镜像和容器

  • 镜像(Image):Docker 将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像
  • 容器(Container):镜像应用程序运行后形成的进程就是容器,只是 Docker 会给容器做隔离,对外不可见


四、Docker 架构

🎹 Docker 是一个 CS 架构的程序,由部分组成:

🎹① 服务端(Server):Docker 守护进程,负责处理 Docker 命令,管理镜像、容器等

🎹② 客户端(Client):通过命令或 RestAPI 向 Docker 服务端发送命令(可在本地或远程向服务端发送命令)

五、CentOS7 上安装 Docker

  • Docker 分为 CE 和 EE 两大版本。CE 是社区版(免费,支持周期 7 个月);EE 是企业版(强调安全,付费使用,支持周期 24 个月)
  • Docker CE 有stabletestnightly 三个更新频道
  • 官方网站上有各种环境下的 安装指南(https://docs.docker.com/get-docker/) (下面介绍 Docker CE 在 CentOS上的安装)
  • Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,所以在CentOS 7安装Docker

查看当前安装的 CentOS 发行版的版本命令:cat /etc/centos-release

(1) 卸载曾经安装过的 Docker

执行下面的命令:

yum remove docker \
           docker-client \
           docker-client-latest \
           docker-common \
           docker-latest \
           docker-latest-logrotate \
           docker-logrotate \
           docker-selinux \
           docker-engine-selinux \
           docker-engine \
           docker-ce

(2) 安装 Docker

🎄 ① 安装 yum 相关工具

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

🎄 ② 配置 Docker 国内镜像源

yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast

🎄 ③ 执行安装 Docker 的命令

yum install -y docker-ce

如出现下图反馈,出现配置 Docker 国内镜像源

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

(3) 启动 Docker

# 关闭防火墙
systemctl stop firewalld
# 禁止防火墙服务开机自启
systemctl disable firewalld
  • 执行启动 Docker 的命令
# 启动 Docker
systemctl start docker

✒️ 查看 Docker 是否启动成功:

systemctl status docker

docker -v

(4) 启动、关闭、重启 Docker

# 启动
systemctl start docker
# 关闭
systemctl stop docker
# 重启
systemctl restart docker

六、配置 Docker 镜像国内仓库

  • 日后将会向 DockerHub 等镜像服务器拉取镜像
  • 而 DockerHub 服务器在国外,向国外拉取镜像非常慢
  • 配置国内 Docker 镜像后,拉取镜像操作会快很多

配置阿里云的镜像加速:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors【查看该文档需登录阿里云账号】

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://r3kq4wio.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
相关文章
|
1月前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
283 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
19天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
53 2
|
21天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
49 2
|
22天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
31 3
|
1月前
|
监控 虚拟化 Docker
Window系统安装Docker
这篇文章提供了在Windows系统上安装与配置Docker的详细指南,包括Docker Desktop的安装及通过Docker来运行容器化应用的步骤。
121 1
Window系统安装Docker
|
1月前
|
存储 物联网 数据安全/隐私保护
Docker安装Mosquitto
这篇文章详细介绍了如何在Docker中安装和配置Mosquitto消息代理服务,包括拉取镜像、创建容器以及配置持久化存储等步骤。
77 0
Docker安装Mosquitto
|
25天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
204 3
|
9天前
|
Docker 容器
【赵渝强老师】使用二进制包方式安装Docker
本文介绍了在企业生产环境中无法直接访问外网时,如何使用Docker官方提供的二进制包进行Docker的离线安装。文章详细列出了从安装wget、下载Docker安装包、解压、复制命令到启动Docker服务的具体步骤,并提供了相关命令和示例图片。最后,还介绍了如何设置Docker为开机自启模式。
|
9天前
|
缓存 Ubuntu Linux
如何安装Docker
如何安装Docker
71 0
|
1月前
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
46 1