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 镜像等。

相关推荐
Patrick_Wilson11 小时前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy20 小时前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭21 小时前
运行你的第一个Docker容器
后端·docker·容器
荣--2 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森2 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
宋均浩2 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
Avan_菜菜2 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
程序员老赵3 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1113 天前
LM Studio Docker 部署——本地大模型一键启动
docker
SelectDB3 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维