欢迎光临
我们一直在努力

CentOS7 环境下安装Docker

一 Docker简介

官方地址:https://docs.docker.com/

Docker 是一个用 Go 语言开发的开源应用容器引擎,它允许开发者将应用程序及其依赖打包成轻量级、可移植的容器。这些容器可以部署到任何主流的 Linux 或 Windows 系统上,并具备虚拟化能力。

Docker 是一个开源的应用程序开发、交付和运行平台。它将应用程序与底层基础设施解耦,从而实现软件的快速交付。借助 Docker,开发者能够以管理应用程序的方式管理基础设施资源。通过 Docker 高效的代码交付、测试和部署机制,可以大幅缩短从开发到生产环境的周期。

Docker 作为革命性的开源项目,充分发挥了计算虚拟化的潜力,显著提升了应用维护效率,同时降低了云计算开发成本。它使应用的部署、测试和分发变得前所未有的简单高效。对于开发者、运维人员以及所有IT从业者而言,掌握 Docker 技术都是提升工作效率的重要途径。

二  Docker的主要特点

  • 轻量化:Docker 容器使用的资源非常少,相比虚拟机技术,一个完整的 Docker 镜像通常只有几十 MB,启动几乎是立即的。
  • 标准化:Docker 对应用及其依赖进行标准化打包,解决了“在我机器上可以运行,在你机器上就不行”的问题。
  • 可移植性:支持跨平台部署,兼容开发、测试及生产等多种运行环境。
  • 版本管理和组件重用:Docker 可以进行版本管理、组件重用、快速部署等。
  • 隔离性:Docker 能够为应用程序提供独立的运行环境,容器内的运行与外部系统完全隔离。
  • 三 为什么要使用Docker?

  • 环境一致性:实现开发、测试和生产环境的一致性,有效杜绝"本地运行正常"的常见问题。
  • 便于持续集成和持续部署:Docker可以快速轻量地启动和关闭容器,极大简化了持续集成和持续部署流程。
  • 隔离性和安全性:Docker容器彼此隔离运行,单个容器的崩溃不会波及其他容器,从而提供了额外的安全防护层。
  • 微服务架构:Docker与微服务架构完美契合。每个微服务可独立运行于专属容器中,容器间相互隔离,各自拥有独立的运行环境。
  • 资源利用率高:Docker容器直接利用主机操作系统内核,无需像虚拟机那样为每个应用运行完整操作系统,因此资源消耗更低且启动速度更快。
  • 因此,Docker 在软件开发、测试和运维中有着广泛的应用。

    四 Docker核心概念

    Docker三大核心概念:镜像 Image、容器 Container、仓库 Repository

    1 镜像(Image)

    Docker 镜像是容器的只读模板,为容器运行提供基础环境。一个镜像可以生成多个容器实例。

    镜像包含了运行容器所需的所有组件:应用程序代码、运行时环境、依赖库、环境变量和配置文件等。其采用分层文件系统结构,每层对应 Dockerfile 中的一条指令,各层之间具有明确的依赖关系。

    2 容器(Container)

    Docker 容器是 Docker 镜像运行时的实例化体现。用户可以对容器执行创建、启动、停止、删除和暂停等操作。各容器之间具有完全隔离的运行环境,每个容器都拥有独立的文件系统和进程空间。

    从技术架构来看,容器与镜像类似,都是由多层结构组成。区别在于容器的最上层是可读写层,而镜像的最上层始终是只读的。

    3 仓库(Repository)

    Docker 仓库(Repository)是用于存储和管理 Docker 镜像的场所,类似于代码版本控制系统中的代码仓库。用户可以在仓库中注册账户,既能上传和分享自己的镜像,也能下载他人共享的镜像。

    Docker 仓库主要分为两种类型:

  • 公开仓库:由 Docker 公司提供,面向所有用户开放。其中最著名的是 DockerHub。
  • 私有仓库:可在本地搭建,仅限于内部用户访问和使用。
  • 典型的 Docker 工作流程包含三个步骤:

  • 从 Docker 仓库拉取所需镜像
  • 基于该镜像创建容器
  • 对容器执行启动、停止等操作
  • 五 Docker的核心架构

    在 Docker 主要有以下几部分组成:

  • Docker 客户端,负责与 Docker 守护进行通信;
  • Docker 守护进程,负责管理 Docker 镜像和 Docker 容器;
  • Docker 镜像,负责产生 Docker 容器实例;
  • Docker 容器,包含了应用程序和其所依赖环境。
  • Docker Hub,已经制作好了很多镜像
  • 链接:https://hub.docker.com/

    六 Centos7 Docker 安装

    1 Docker自动化安装

    官方的一键安装方式:

    curl -fsSL https://get.docker.com | bash -s docker –mirror Aliyun

    国内daocloud一键安装命令:

    curl -sSL https://get.daocloud.io/docker | sh

    执行上述任一条命令,耐心等待即可完成Docker的安装。

    2 Docker手动安装

    # 安装依赖工具
    # yum-utils提供yum-config-manager
    # device mapper存储驱动程序需要device-mapper-persistent-data和lvm2。
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2

    # 配置镜像源, 我们使用的是阿里云的源
    yum-config-manager –add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
    yum makecache fast

    # 安装 Docker
    yum install docker-ce docker-ce-cli containerd.io

    注意:执行最后 yum install docker-ce docker-ce-cli containerd.io

    可能会出现下载失败,请自行替换yum的镜像源

    yum install安装报错

    https://blog.csdn.net/MrZhangTS/article/details/143773880

    安装完成后,可通过以下命令管理Docker守护进程:

    # 查看 docker 版本
    docker version
    # 启动 docker 服务
    systemctl start docker
    # 关闭 docker 服务
    systemctl stop docker
    # 重启 docker 服务
    systemctl restart docker
    # 查看 docker 状态
    systemctl status docker
    # 设置开机启动
    systemctl enable docker

    七 Docker 镜像操作

    # 1. 查看镜像
    docker images # 查看所有镜像
    docker images -q # 只查看镜像的ID
    docker images –no-trunc # 显示镜像完整信息

    # 2. 搜索镜像
    docker search 镜像名

    # 3. 下载镜像
    docker pull 镜像名:版本 # 不指定 TAG, 则默认使用 latest

    # 4. 运行镜像
    docker run -it 镜像名:版本 程序 # 交互式运行容器
    docker run -it –name=标签名 镜像名:版本 程序 # 容器指定名字
    docker run -itd 镜像名:版本 程序 # 后台运行容器

    # 5. 删除镜像
    docker rmi -f 镜像名 # 删除指定镜像
    docker rmi -f 镜像ID # 删除指定镜像
    docker rmi -f $(docker images -qa) # 删除所有镜像

    # 6. 保存镜像, xxx是镜像名
    docker save 镜像名:版本 -o xxx.tar

    """
    [root@bogon ~]# docker save alpine:latest -o myalpine.tar
    [root@bogon ~]# ls
    anaconda-ks.cfg myalpine.tar
    """

    # 7. 加载镜像
    docker load -i xxx.tar

    """
    [root@bogon ~]# docker load -i myalpine.tar
    24302eb7d908: Loading layer [==================================================>] 5.811MB/5.811MB

    REPOSITORY TAG IMAGE ID CREATED SIZE
    centos latest 5d0da3dc9764 9 months ago 231MB
    """

    八 Docker 容器操作

    # 1. 查看容器
    docker ps # 查看正在运行的容器实例
    docker ps -a # 查看正在运行或者已停止的容器实例

    # 2. 运行容器
    docker start 容器ID # 启动容器
    docker restart 容器ID # 重启容器

    # 3. 停止容器
    docker stop 容器ID

    # 4. 删除容器
    docker rm -f 容器ID # 删除指定容器
    docker rm -f $(docker ps -qa) # 删除所有容器

    # 5. 进入容器
    # attach 退出终端会导致容器停止
    # exec 不会导致容器停止
    docker attach 容器ID
    docker exec -it 容器ID /bin/bash

    # 6. 容器导出
    docker export 容器ID > xxx.tar

    # 7. 容器导入
    docker import xxx.tar xxx:tag

    赞(0)
    未经允许不得转载:171主机测评 » CentOS7 环境下安装Docker
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址