初识Docker

166 阅读4分钟

Docker 是什么,为什么使用 Docker?

Docker 是一个开源项目,提供了一种以容器为基础的应用程序运行环境,使得应用程序可以快速、可靠、跨平台地打包、分发和部署。使用 Docker 可以将应用程序和其依赖的库、框架等一起打包成一个 Docker 镜像,该镜像可以在任何支持 Docker 的机器上运行。

使用 Docker,有以下几个优点:

  1. 轻量级:Docker 容器非常轻量,启动和停止速度也很快,可以更加高效地利用资源。

  2. 可移植性:Docker 容器可以在不同平台和环境中运行,避免了因为环境变化导致的不可预期的问题。

  3. 一致性:Docker 容器提供了一个隔离的环境,保证了应用程序的可重复性和一致性,可以避免因为依赖于特定运行时环境而导致的问题。

  4. 灵活性:Docker 容器可以随时被启动、停止和删除,非常适合对资源需求波动较大的应用程序,可以快速响应变化。

  5. 安全性:Docker 容器提供了一种基于隔离的安全机制,能够保证应用程序和系统之间的安全隔离,减少了风险。

总之,Docker 为开发人员和运维人员提供了一个更加高效、可靠和安全的容器化平台,使得应用程序的打包、发布和运行更加简单和可控。

安装 Docker

安装 Docker 需要分为两个部分,一个是安装 Docker 引擎,另一个是安装 Docker CLI(命令行工具)。

以下是在 Ubuntu 上安装 Docker 的步骤:

  1. 首先更新本地 apt 包缓存:

    sudo apt-get update
    
  2. 安装 Docker 的依赖包:

    sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
    
  3. 添加 Docker 的 GPG 密钥:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  4. 添加 Docker 的 APT 仓库:

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  5. 再次更新 apt 包缓存:

    sudo apt-get update
    
  6. 安装最新版本的 Docker 引擎:

    sudo apt-get install docker-ce docker-ce-cli containerd.io
    
  7. 验证 Docker 是否安装成功:

    sudo docker run hello-world
    

    如果能够正常输出 "Hello from Docker!" 等信息,则说明 Docker 安装成功。

安装 Docker CLI 非常简单,只需要在 Docker 的官网下载相应的命令行工具即可。在 Windows 上可以下载 Docker Desktop,而在 macOS 和 Linux 上可以下载 Docker CLI。

Docker 架构

Docker 的架构主要分为以下四个组件:

  1. Docker 客户端(Docker client): 用于构建、打包和管理 Docker 容器,用户和 Docker 守护进程之间的交互都是通过 Docker 客户端来完成的。Docker 客户端会把用户在命令行上输入的指令传输到 Docker 守护进程上。

  2. Docker 守护进程(Docker daemon): 运行在主机操作系统上的后台进程,负责管理 Docker 镜像、容器、网络和存储等组件。当 Docker 客户端向 Docker 守护进程发送命令时,Docker 守护进程会接收命令并执行相应操作。

  3. Docker 镜像(Docker image): 是 Docker 容器运行的基础。Docker 镜像可以看作是一个 Docker 容器的只读模板,包含了一个完整的文件系统和运行所需的依赖项。Docker 镜像可以通过 Dockerfile 文件构建,也可以从 Docker Hub 上拉取。

  4. Docker 容器(Docker container): 是 Docker 运行的基本单位,包含了一个完整的运行时环境。Docker 容器是由 Docker 镜像创建而来,与镜像不同的是,容器是可读可写的,并可以运行在 Docker 容器运行时(runtime)环境中。Docker 容器可以被启动、停止、删除,也可以与其他容器或主机进行交互。

Docker 基本命令

Docker 是一个基于容器技术的开源项目。Docker 命令按功能可以分为镜像管理、容器管理和网络管理。

  1. 镜像管理命令
  • docker images:列出本地所有镜像
  • docker search:在 Docker Hub 上搜索镜像
  • docker pull:从 Docker 镜像仓库中拉取镜像到本地
  • docker rmi:删除本地镜像
  1. 容器管理命令
  • docker ps:列出所有正在运行的容器
  • docker ps -a:列出所有容器,包括已停止的
  • docker run:创建并启动一个容器
  • docker start:启动一个已创建的容器
  • docker stop:停止一个运行中的容器
  • docker rm:删除一个容器
  1. 网络管理命令
  • docker network ls:列出当前所有网络
  • docker network create:创建一个新的 Docker 网络
  • docker network inspect:查看指定网络的详细信息
  • docker network connect:将容器连接到指定网络
  • docker network disconnect:将容器和指定网络断开连接

另外,还有一些其他常用的命令如下:

  • docker exec:在正在运行的容器中执行命令
  • docker logs:查看容器的日志输出
  • docker build:通过 Dockerfile 构建一个新的镜像