引言

Docker 是一种流行的开源容器化平台,它允许开发者和系统管理员将应用程序与它们的依赖项打包在一起,以便于迁移和扩展。本文旨在为初学者提供一个全面的指南,从 Docker 的基本概念开始,逐步深入到安装和配置过程。

Docker 简介

什么是 Docker?

Docker 通过容器化技术,允许开发者将应用程序及其依赖项打包成一个容器,实现环境一致性,简化了应用程序的部署和扩展。

容器化与虚拟化的区别

  • 容器化:操作系统级别的虚拟化,共享主机内核,资源利用率高。
  • 虚拟化:硬件级别的虚拟化,每个虚拟机都有的操作系统。

Docker 的核心组件

  • Docker Engine:负责容器的创建、运行、管理和编排。
  • Docker Hub:Docker 容器镜像的仓库。
  • Dockerfile:用于构建 Docker 镜像的脚本文件。

Docker 安装

在 Linux 系统上安装 Docker

    卸载旧的 Docker 版本

    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine docker-selinux docker-engine-selinux
    

    安装 yum 工具

    sudo yum install -y yum-utils
    

    配置 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
    

    安装 Docker

    sudo yum install -y docker-ce docker-ce-cli containerd.io
    

    启动 Docker 服务

    sudo systemctl start docker
    

    开机启动 Docker

    sudo systemctl enable docker
    

在 Windows 系统上安装 Docker

  1. 访问 Docker 官方网站下载 Docker Desktop for Windows。
  2. 安装过程中,确保选择“Wsl 2 with Linux 2”选项。
  3. 安装完成后,启动 Docker Desktop。
  4. 以管理员身份运行 PowerShell 或命令提示符,执行以下命令启动 Docker:
    
    docker --version
    

Docker 配置

配置加速器

    创建 /etc/docker/daemon.json 文件:

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
       "registry-mirrors": [
           "https://mirror.ccs.tencentyun.com",
           "https://docker.m.daocloud.io"
       ]
    }
    EOF
    

    重载并重启 Docker 服务:

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

入门案例

以下是一个简单的案例,展示如何使用 Docker 运行一个 Nginx 容器。

    搜索 Nginx 镜像

    docker search nginx
    

    下载 Nginx 镜像

    docker pull nginx
    

    查看所有镜像

    docker images
    

    删除镜像

    docker rmi <镜像ID>
    

    查看运行中的容器

    docker ps
    

    启动 Nginx 容器

    docker run -d --name mynginx -p 80:88 nginx
    

总结

本文从 Docker 的基本概念、安装和配置等方面进行了详细介绍,帮助初学者快速上手 Docker。通过学习和实践,您可以更好地利用 Docker 实现应用程序的容器化部署和扩展。