Docker使用教程

以下是一个基本的 Docker 使用教程:

一、安装 Docker

  1. 不同操作系统的安装方式
    • Windows
      • 确保你的系统是 Windows 10 及以上版本(专业版、企业版或教育版),因为需要用到 Windows 操作系统的 Hyper - V 功能。你可以从 Docker 官方网站下载 Docker Desktop for Windows 安装程序。
      • 双击安装程序,按照安装向导的提示完成安装。在安装过程中,安装程序会自动启用所需的 Windows 功能,并配置 Docker 环境。安装完成后,Docker 会自动启动。
    • Mac
      • 从 Docker 官方网站下载 Docker Desktop for Mac 安装程序。
      • 打开安装包,将 Docker 图标拖移到 Applications 文件夹,然后打开 Docker 应用程序。它会自动完成安装和初始化过程,包括安装必要的系统组件和配置环境。
    • Linux(以 Ubuntu 为例)
      • 首先更新系统的软件包列表,打开终端并执行sudo apt - get update
      • 安装 Docker 相关的软件包,执行sudo apt - get install docker - ce docker - ce - cli containerd.io。这会安装 Docker 社区版(CE)以及相关的工具。
      • 安装完成后,将当前用户添加到docker用户组,这样可以避免每次使用 Docker 命令都需要使用sudo权限,执行sudo usermod - aG docker $USER。然后注销并重新登录系统,使设置生效。

二、基本操作

  1. 镜像操作

    • 搜索镜像 :使用docker search [镜像名称]命令可以在 Docker Hub(默认的公共镜像仓库)中搜索镜像。例如,如果你想查找一个 Ubuntu 镜像,执行docker search ubuntu,它会列出包含 Ubuntu 关键词的镜像列表,包括镜像名称、描述、星级评价、官方与否等信息。
    • 拉取镜像 :使用docker pull [镜像名称]命令从仓库中拉取镜像到本地。例如,拉取官方的 Ubuntu 20.04 镜像,执行docker pull ubuntu:20.04。这里的20.04是镜像标签,用于区分不同版本的镜像。如果不指定标签,默认会拉取最新版本(通常标签为latest)。
    • 查看本地镜像 :使用docker images命令可以查看本地已有的镜像列表。列表中会显示镜像的仓库名称、标签、镜像 ID、创建时间和大小等信息。
    • 删除镜像 :如果要删除本地的镜像,可以使用docker rmi [镜像ID或镜像名称:标签]命令。例如,要删除刚才拉取的 Ubuntu 20.04 镜像(假设其镜像 ID 为abcdef123456),执行docker rmi abcdef123456或者docker rmi ubuntu:20.04
  2. 容器操作

    • 创建并启动容器 :使用docker run命令创建并启动一个容器。例如,从刚才拉取的 Ubuntu 20.04 镜像启动一个容器,执行docker run -it ubuntu:20.04 /bin/bash。这里的-it参数表示以交互模式(-i)和终端模式(-t)运行容器,/bin/bash是在容器启动后要执行的命令,也就是进入容器的 Bash shell。
    • 查看运行中的容器 :使用docker ps命令可以查看当前正在运行的容器列表。列表中会显示容器 ID、镜像名称、创建时间、状态、端口映射等信息。如果要查看所有的容器(包括已经停止的容器),可以使用docker ps -a命令。
    • 停止容器 :使用docker stop [容器ID或容器名称]命令停止正在运行的容器。例如,停止刚才启动的 Ubuntu 容器(假设其容器 ID 为789abcdef01),执行docker stop 789abcdef01
    • 启动已停止的容器 :如果要重新启动一个已经停止的容器,可以使用docker start [容器ID或容器名称]命令。例如,启动刚才停止的容器,执行docker start 789abcdef01
    • 进入容器内部 :当容器已经在后台运行,你想进入容器内部进行操作(例如查看容器内的文件系统、执行命令等),可以使用docker exec -it [容器ID或容器名称] /bin/bash命令。这个命令和创建容器时的docker run -it类似,只是作用于已经运行的容器,用于在容器内打开一个新的交互式 Bash shell。
    • 删除容器 :使用docker rm [容器ID或容器名称]命令删除一个容器。需要注意的是,只有容器处于停止状态时才能被删除。如果要强制删除一个正在运行的容器,可以使用docker rm -f [容器ID或容器名称]命令,但这种方式可能会导致数据丢失等问题,要谨慎使用。
  3. 数据卷操作(用于数据持久化)

    • 创建数据卷 :使用docker volume create [数据卷名称]命令创建一个数据卷。例如,创建一个名为my_data_volume的数据卷,执行docker volume create my_data_volume
    • 挂载数据卷到容器 :在创建容器时,可以使用-v参数将数据卷挂载到容器内部的指定目录。例如,将刚才创建的数据卷my_data_volume挂载到一个 Ubuntu 容器的/data目录,执行docker run -it -v my_data_volume:/data ubuntu:20.04 /bin/bash。这样,容器内/data目录下的数据会存储在数据卷中,即使容器被删除,数据卷中的数据仍然可以保留。
    • 查看数据卷信息 :使用docker volume ls命令可以查看本地所有的数据卷列表,包括数据卷名称、驱动程序和挂载点等信息。如果想查看某个数据卷的详细信息(如数据卷的位置等),可以使用docker volume inspect [数据卷名称]命令。
  4. 端口映射(用于容器与外部通信)

    • 创建容器时进行端口映射 :在创建容器时,可以使用-p参数进行端口映射。例如,如果你在容器内部运行了一个 Web 服务器,监听容器内的 80 端口,你想将容器内的 80 端口映射到宿主机的 8080 端口,以便从外部访问这个 Web 服务器,可以执行docker run -it -p 8080:80 [镜像名称]。这样,当访问宿主机的 8080 端口时,请求会被转发到容器内部的 80 端口。
    • 查看端口映射情况 :使用docker ps命令查看容器信息时,会显示容器的端口映射情况。或者使用docker port [容器ID或容器名称]命令查看某个容器的详细端口映射信息,它会列出容器内部端口与宿主机端口的映射关系。

这些只是 Docker 的基本操作,随着使用的深入,你还可以学习更高级的功能,如 Docker 网络配置、使用 Docker Compose 来管理多个容器的应用、构建自己的 Docker 镜像等。

相关推荐
Leinwin3 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
2401_865382503 小时前
信息化项目运维与运营的区别
运维·运营·信息化项目·政务信息化
漠北的哈士奇3 小时前
VMware Workstation导入ova文件时出现闪退但是没有报错信息
运维·vmware·虚拟机·闪退·ova
如意.7593 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
运维小欣4 小时前
智能体选型实战指南
运维·人工智能
yy55274 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ5 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔6 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密6 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
dashizhi20156 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑