文档首页> IDC服务> Docker基础和常用命令详解

Docker基础和常用命令详解

发布时间:2024-09-02 08:28       

Docker是一种开源的容器化平台,用于开发、部署和运行应用程序。它将应用程序及其依赖打包到一个标准化的单元中,称为容器,使得应用程序可以在任何环境中一致地运行。以下是Docker的基础知识和常用命令的详细解析。

一、Docker基础概念

  1. 镜像(Image):
    Docker镜像是一个只读的模板,其中包含了运行应用程序所需的所有依赖。镜像可以通过Dockerfile定义,Dockerfile包含了创建镜像的所有指令。镜像是容器运行的基础。

  2. 容器(Container):
    容器是镜像的一个运行实例。它是一个轻量级、可移植的运行环境,包含应用程序及其所有依赖。容器与主机系统隔离,但可以与其他容器或主机系统交互。

  3. Docker Hub:
    Docker Hub是一个云端的Docker镜像库,用户可以在上面下载、上传或共享镜像。它是Docker的官方镜像仓库,包含了大量的公共镜像。

  4. Docker引擎(Docker Engine):
    Docker引擎是一个轻量级的容器运行时,负责构建、运行和管理Docker容器。它包含了Docker守护进程(daemon)、客户端(client)和REST API接口。

二、Docker安装

  1. 在CentOS 7上安装Docker:

    使用以下命令安装Docker CE(社区版):

    1. sudo yum install -y yum-utils
    2. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    3. sudo yum install docker-ce docker-ce-cli containerd.io

    解释:这些命令将添加Docker官方仓库并安装Docker CE。yum-utils提供了yum-config-manager工具,用于管理yum源。

  2. 启动Docker服务:

    安装完成后,启动Docker并设置为开机自启:

    1. sudo systemctl start docker
    2. sudo systemctl enable docker

    解释:systemctl start docker启动Docker守护进程,systemctl enable docker确保Docker在系统启动时自动启动。

三、常用Docker命令详解

  1. 镜像管理:

    • 列出本地镜像:

      1. docker images

      解释:docker images命令列出本地所有的Docker镜像,包括镜像的仓库名、标签、ID、创建时间和大小。

    • 拉取镜像:

      1. docker pull ubuntu:latest

      解释:docker pull命令从Docker Hub中拉取指定的镜像,这里拉取的是Ubuntu的最新版本。

    • 删除镜像:

      1. docker rmi ubuntu:latest

      解释:docker rmi命令用于删除本地的Docker镜像,删除时需要指定镜像的名称或ID。

  2. 容器管理:

    • 创建并运行容器:

      1. docker run -d --name my_container ubuntu:latest

      解释:docker run命令创建并运行一个新的容器,-d选项表示后台运行,--name为容器指定名称,后面的ubuntu:latest表示基于Ubuntu最新镜像创建容器。

    • 列出运行中的容器:

      1. docker ps

      解释:docker ps命令列出当前正在运行的容器,包括容器ID、名称、镜像、状态等信息。

    • 列出所有容器:

      1. docker ps -a

      解释:docker ps -a命令显示所有容器(包括已停止的),这有助于管理和查看容器的历史状态。

    • 停止容器:

      1. docker stop my_container

      解释:docker stop命令用于停止运行中的容器,需要指定容器的名称或ID。

    • 启动容器:

      1. docker start my_container

      解释:docker start命令用于启动已经存在但目前停止的容器。

    • 删除容器:

      1. docker rm my_container

      解释:docker rm命令用于删除已经停止的容器,容器必须在停止状态下才能被删除。

  3. 容器操作:

    • 进入运行中的容器:

      1. docker exec -it my_container /bin/bash

      解释:docker exec命令允许你在运行中的容器中执行命令,-it选项将当前终端连接到容器的bash shell,使得可以在容器内进行操作。

    • 查看容器日志:

      1. docker logs my_container

      解释:docker logs命令用于查看指定容器的标准输出日志,帮助诊断问题或查看容器运行状态。

    • 查看容器资源使用情况:

      1. docker stats my_container

      解释:docker stats命令实时显示容器的资源使用情况,包括CPU、内存、网络和磁盘IO等信息。

  4. 网络管理:

    • 列出Docker网络:

      1. docker network ls

      解释:docker network ls命令列出所有Docker网络,包括默认的bridge、host和none网络。

    • 创建自定义网络:

      1. docker network create my_network

      解释:docker network create命令用于创建一个自定义的Docker网络,容器可以通过该网络进行相互通信。

    • 连接容器到网络:

      1. docker network connect my_network my_container

      解释:docker network connect命令将指定容器连接到自定义网络,使其能够与同一网络中的其他容器通信。

  5. 数据卷管理:

    • &