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

相关推荐
18.Show3 小时前
有趣的Docker
运维·docker·容器
wuzuyu3653 小时前
docker.io连接超时的处理,用代理网站
运维·docker·容器
zz-zjx3 小时前
nerdctl:与 Docker 兼容的 containerd CLI
运维·docker·容器
Hansel_Zhang4 小时前
CentOS 7 docker部署jar包
linux·docker·centos
MXsoft6184 小时前
智能运维视角下的网络设备监测与数据分析
大数据·运维·数据库
运维&陈同学5 小时前
【Dubbo03】消息队列与微服务之dubbo-admin 二进制与编译安装
linux·运维·服务器·后端·微服务·云原生·架构·dubbo
不像程序员的程序媛5 小时前
记录下nginx接口代理配置问题
运维·服务器·nginx
灼华十一5 小时前
消息队列-kafka
linux·docker·golang·kafka
玉石俱焚ing6 小时前
ubuntu无线网络共享到有线
运维·服务器·ubuntu
weixin_442643426 小时前
工程设计行业内外网文件交换解决方案:FileLink助力高效、安全的跨网协作
运维·服务器·安全·filelink内外网文件交换