当前位置: 首页 > news >正文

Docker-介绍以及安装docker

Docker 简介

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


为什么需要 Docker?

  1. 环境一致性

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

  2. 快速部署与扩展

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

  3. 资源高效利用

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

  4. 依赖隔离

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

核心概念

  1. 镜像(Image)

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

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

  2. 容器(Container)

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

  3. 仓库(Registry)

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

安装Docker

这里以Centos为例

1.卸载旧版

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

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工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

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

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,建立缓存

sudo yum makecache fast

3.安装Docker

最后,执行命令,安装Docker

yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4.启动和校验

# 启动Docker
systemctl start docker

# 停止Docker
systemctl stop docker

# 重启
systemctl restart docker

# 设置开机自启
systemctl enable docker

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

5.配置镜像加速

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

配置镜像步骤如下:

# 创建目录
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

相关文章:

  • Docker__持续更新......
  • Java延时定时刷新Redis缓存
  • 什么是掉期(Swap)?——金融衍生品的关键工具(中英双语)
  • Spring Boot Actuator 监控✨
  • 使用DeepSeek+本地知识库,尝试从0到1搭建高度定制化工作流(爬虫模块篇)
  • 钉钉应用开发
  • unity学习42:动画状态机:混合动画状态 blend tree
  • OpenGL ES学习大纲
  • 解锁机器学习核心算法 | K -近邻算法:机器学习的神奇钥匙
  • 在 Visual Studio Code (VSCode) 中创建 React 项目
  • 基于豆瓣2025电影数据可视化分析系统的设计与实现
  • 500. 键盘行 771. 宝石与石头 简单 find接口的使用
  • (萌新入门)如何从起步阶段开始学习STM32 —— 1如何迁移一个开发版的工程
  • 深入解析 vLLM:高性能 LLM 服务框架的架构之美(二)调度管理
  • 【JAVA工程师从0开始学AI】,第二步:从强类型到动态语言:Java工程师的Python语法避坑指南
  • Golang实现简单粗暴的接口去重函数
  • 管理WSL实例 以及安装 Ubuntu 作为 WSL 子系统 流程
  • Deepseek本地部署指南:在linux服务器部署,在mac远程web-ui访问
  • 现代多核 CPU 的变化
  • TreeSet(单列集合)
  • 证监会副主席李明:支持符合条件的外资机构申请新业务、设立新产品
  • 蒲慕明院士:好的科普应以“质疑、讨论公众关切的科学问题”为切入点
  • 秦洪看盘|风格有所转变,热钱回流高弹性品种
  • 中国情怀:时代记录与家国镜相|澎湃·镜相第三届非虚构写作大赛征稿启事
  • 一周文化讲座|“我的生命不过是温柔的疯狂”
  • 定制基因编辑疗法治愈罕见遗传病患儿