Docker-介绍以及安装docker

Docker 简介

Docker 是一个开源的容器化平台,允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,实现"一次构建,随处运行"。容器技术通过操作系统级虚拟化实现资源隔离,相比传统虚拟机更轻量、高效。


为什么需要 Docker?

环境一致性

  • 开发、测试、生产环境不一致会导致"在我机器上能运行"的问题。Docker 容器确保环境完全一致。

快速部署与扩展

  • 容器秒级启动,适合微服务架构和动态扩缩容。

资源高效利用

  • 容器共享宿主机内核,无需为每个应用分配独立操作系统资源,资源占用更少。

依赖隔离

  • 不同应用的依赖(如 Python 2 和 Python 3)可共存于同一宿主机,互不冲突。

核心概念

镜像(Image)

  • 只读模板,包含运行应用所需的代码、库、环境等(如 Ubuntu + Nginx + 代码)。

  • 镜像通过分层存储(Layer)实现复用,节省磁盘空间。

容器(Container)

  • 镜像的运行实例,具有独立的文件系统、网络和进程空间。

仓库(Registry)

  • 存储和分发镜像的平台。公共仓库如 Docker Hub,私有仓库可自建(如 Harbor)。

安装Docker

这里以Centos为例

1.卸载旧版

首先如果系统中已经存在旧的Docker,则先卸载:

bash 复制代码
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine \ docker-selinux

2.配置Docker的yum库

首先要安装一个yum工具

bash 复制代码
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

安装成功后,执行命令,配置Docker的yum源(已更新为阿里云源):

bash 复制代码
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

更新yum,建立缓存

bash 复制代码
sudo yum makecache fast

3.安装Docker

最后,执行命令,安装Docker

bash 复制代码
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4.启动和校验

bash 复制代码
# 启动Docker
systemctl start docker

# 停止Docker
systemctl stop docker

# 重启
systemctl restart docker

# 设置开机自启
systemctl enable docker

# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps

5.配置镜像加速

镜像地址可能会变更,如果失效可以百度找最新的docker镜像。

配置镜像步骤如下:

bash 复制代码
# 创建目录
mkdir -p /etc/docker

# 复制内容
tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://mirrors.tuna.tsinghua.edu.cn",
        "http://mirrors.sohu.com",
        "https://ustc-edu-cn.mirror.aliyuncs.com",
        "https://ccr.ccs.tencentyun.com",
        "https://docker.m.daocloud.io",
        "https://docker.awsl9527.cn"
    ]
}
EOF

# 重新加载配置
systemctl daemon-reload

# 重启Docker
systemctl restart docker
相关推荐
Zfox_13 分钟前
CANN Catlass 算子模板库深度解析:高性能 GEMM 融合计算、Cube Unit Tiling 机制与编程范式实践
docker·云原生·容器·eureka
春日见1 小时前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
DARLING Zero two♡1 小时前
告别 Docker 命令行!Portainer+cpolar 让容器管理从局域网走向公网
运维·docker·容器
liu****2 小时前
2.深入浅出理解虚拟化与容器化(含Docker实操全解析)
运维·c++·docker·容器·虚拟化技术
logocode_li3 小时前
OCI/CRI 双标准下:从 dockerd 到 containerd 的 K8s 运行时迭代史
docker·云原生·容器·k8s
_运维那些事儿14 小时前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算
lpruoyu17 小时前
【Docker进阶-05】Docker网络
网络·docker·容器
人间打气筒(Ada)18 小时前
k8s:CNI网络插件flannel与calico
linux·云原生·容器·kubernetes·云计算·k8s
江畔何人初19 小时前
pod的内部结构
linux·运维·云原生·容器·kubernetes
三块钱079419 小时前
群晖docker部署Mattermost,对接openclaw
运维·docker·容器