首页 > 其他分享 >Docker 指令详解:全面掌握容器化管理工具

Docker 指令详解:全面掌握容器化管理工具

时间:2024-10-13 20:49:12浏览次数:11  
标签:容器 示例 管理工具 OPTIONS 详解 镜像 docker Docker

Docker 是当前最流行的容器化平台之一,它通过轻量级的虚拟化技术,让开发者能够快速构建、部署和管理应用。掌握 Docker 的基础指令对于有效使用这一工具至关重要。本文将详细介绍 Docker 的常用命令,帮助你全面了解和运用 Docker。

目录

  1. Docker 基础概念
  2. Docker 镜像管理命令
    • docker build
    • docker pull
    • docker push
    • docker images
    • docker rmi
  3. Docker 容器管理命令
    • docker run
    • docker ps
    • docker stop
    • docker start
    • docker restart
    • docker rm
    • docker exec
    • docker logs
  4. Docker 网络管理命令
    • docker network ls
    • docker network create
    • docker network inspect
    • docker network rm
  5. Docker 卷管理命令
    • docker volume ls
    • docker volume create
    • docker volume inspect
    • docker volume rm
  6. Docker 系统管理命令
    • docker info
    • docker version
    • docker system df
    • docker system prune
  7. 其他有用命令
    • docker inspect
    • docker tag
    • docker history
  8. 总结

Docker 基础概念

在深入命令之前,了解一些 Docker 的基本概念是非常有帮助的:

  • 镜像(Image):Docker 镜像是一个包含应用及其所有依赖的轻量级、独立、可执行的软件包。它是容器的蓝图。
  • 容器(Container):容器是镜像的运行实例,具有独立的文件系统、网络和进程空间。
  • 仓库(Repository):用于存储和分发 Docker 镜像的地方,如 Docker Hub。
  • Dockerfile:用于定义镜像内容的脚本文件,包含一系列构建指令。

Docker 镜像管理命令

镜像管理是 Docker 运维中的核心部分,以下是常用的镜像管理命令:

docker build

用于根据 Dockerfile 构建一个新的镜像。

语法:

docker build [OPTIONS] PATH | URL | -

示例:
在当前目录下使用 Dockerfile 构建镜像,并命名为 myapp:latest

docker build -t myapp:latest .

docker pull

从仓库中拉取镜像到本地。

语法:

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

示例:
拉取官方的 Nginx 镜像:

docker pull nginx:latest

docker push

将本地镜像推送到仓库。

语法:

docker push [OPTIONS] NAME[:TAG]

示例:
推送本地的 myapp:latest 镜像到 Docker Hub:

docker push myusername/myapp:latest

注意:推送前需先登录 Docker Hub,使用 docker login 命令。

docker images

列出本地存储的所有镜像。

语法:

docker images [OPTIONS] [REPOSITORY[:TAG]]

示例:
查看所有本地镜像:

docker images

docker rmi

删除本地镜像。

语法:

docker rmi [OPTIONS] IMAGE [IMAGE...]

示例:
删除镜像 myapp:latest

docker rmi myapp:latest

Docker 容器管理命令

管理容器是 Docker 使用中的主要任务,以下是常用的容器管理命令:

docker run

创建并运行一个新的容器。

语法:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

示例:
以交互模式运行 Ubuntu 容器,并进入 Bash:

docker run -it ubuntu:latest /bin/bash

docker ps

列出当前运行的容器。

语法:

docker ps [OPTIONS]

示例:
查看所有正在运行的容器:

docker ps

查看包括停止的容器:

docker ps -a

docker stop

停止一个或多个运行中的容器。

语法:

docker stop [OPTIONS] CONTAINER [CONTAINER...]

示例:
停止名为 mycontainer 的容器:

docker stop mycontainer

docker start

启动一个已停止的容器。

语法:

docker start [OPTIONS] CONTAINER [CONTAINER...]

示例:
启动名为 mycontainer 的容器:

docker start mycontainer

docker restart

重启一个或多个容器。

语法:

docker restart [OPTIONS] CONTAINER [CONTAINER...]

示例:
重启名为 mycontainer 的容器:

docker restart mycontainer

docker rm

删除一个或多个容器。

语法:

docker rm [OPTIONS] CONTAINER [CONTAINER...]

示例:
删除名为 mycontainer 的容器:

docker rm mycontainer

注意:容器必须停止才能删除,或者使用 -f 强制删除。

docker exec

在运行中的容器内执行指定的命令。

语法:

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

示例:
mycontainer 容器内运行 Bash:

docker exec -it mycontainer /bin/bash

docker logs

查看容器的日志输出。

语法:

docker logs [OPTIONS] CONTAINER

示例:
查看 mycontainer 的日志:

docker logs mycontainer

Docker 网络管理命令

Docker 提供了灵活的网络配置选项,以下是常用的网络管理命令:

docker network ls

列出所有 Docker 网络。

语法:

docker network ls

示例:
查看所有网络:

docker network ls

docker network create

创建一个新的 Docker 网络。

语法:

docker network create [OPTIONS] NETWORK

示例:
创建一个名为 mynetwork 的桥接网络:

docker network create mynetwork

docker network inspect

查看指定网络的详细信息。

语法:

docker network inspect [OPTIONS] NETWORK

示例:
查看 mynetwork 网络的详细信息:

docker network inspect mynetwork

docker network rm

删除一个或多个网络。

语法:

docker network rm NETWORK [NETWORK...]

示例:
删除 mynetwork 网络:

docker network rm mynetwork

Docker 卷管理命令

Docker 卷用于持久化和管理容器数据,以下是相关命令:

docker volume ls

列出所有卷。

语法:

docker volume ls

示例:
查看所有卷:

docker volume ls

docker volume create

创建一个新的卷。

语法:

docker volume create [OPTIONS] [VOLUME]

示例:
创建一个名为 myvolume 的卷:

docker volume create myvolume

docker volume inspect

查看卷的详细信息。

语法:

docker volume inspect [OPTIONS] VOLUME [VOLUME...]

示例:
查看 myvolume 的详细信息:

docker volume inspect myvolume

docker volume rm

删除一个或多个卷。

语法:

docker volume rm [OPTIONS] VOLUME [VOLUME...]

示例:
删除 myvolume 卷:

docker volume rm myvolume

注意:卷如果正在被容器使用,将无法删除。

Docker 系统管理命令

这些命令用于获取 Docker 系统的状态和进行系统级别的管理。

docker info

显示 Docker 系统的全面信息。

语法:

docker info

示例:
查看 Docker 系统信息:

docker info

docker version

显示 Docker 客户端和服务器(守护进程)的版本信息。

语法:

docker version

示例:
查看 Docker 版本:

docker version

docker system df

显示 Docker 使用的磁盘空间情况。

语法:

docker system df

示例:
查看 Docker 磁盘使用情况:

docker system df

docker system prune

清理未使用的 Docker 数据,包括停止的容器、未使用的网络、悬挂的镜像和未使用的卷。

语法:

docker system prune [OPTIONS]

示例:
执行全面清理(包括未使用的卷):

docker system prune -a --volumes

注意:此操作会删除未使用的数据,请谨慎使用。

其他有用命令

除了上述常用命令外,Docker 还提供了一些其他实用的命令:

docker inspect

获取 Docker 对象(容器、镜像、网络、卷等)的详细信息。

语法:

docker inspect [OPTIONS] NAME [NAME...]

示例:
查看 mycontainer 容器的详细信息:

docker inspect mycontainer

docker tag

为镜像创建一个新的标签。

语法:

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

示例:
将本地 myapp:latest 镜像打标签为 myusername/myapp:v1.0

docker tag myapp:latest myusername/myapp:v1.0

docker history

查看镜像的历史层信息。

语法:

docker history [OPTIONS] IMAGE

示例:
查看 myapp:latest 镜像的历史:

docker history myapp:latest

总结

熟练掌握 Docker 的各类命令,能够帮助你更加高效地管理容器化环境。从镜像的构建与管理,到容器的生命周期操作,再到网络和数据卷的配置,Docker 提供了一套全面的工具链。本文涵盖了常用的 Docker 指令及其使用示例,希望能作为你学习和参考的指南。随着你对 Docker 的深入了解,还可以探索更多高级功能,如编排工具 Docker Compose 和 Kubernetes 的集成,进一步提升应用部署与管理的效率。

标签:容器,示例,管理工具,OPTIONS,详解,镜像,docker,Docker
From: https://blog.csdn.net/XiaoLiuLB/article/details/142829816

相关文章

  • Docker-nginx数据卷挂载
    数据卷(volume)是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。以Nginx为例,我们知道Nginx中有两个关键的目录:html:放置一些静态资源conf:放置配置文件如果我们要让Nginx代理我们的静态资源,最好是放到html目录;如果我们要修改Nginx的配置,最好是找到conf下的nginx.conf文件......
  • Linux文件系统详解
    在LINUX系统中有一个重要的概念:一切都是文件。 其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来。在UNIX系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬......
  • Android 车载应用开发指南 - CAN Bus 协议详解
    ​在现代车载应用开发中,CAN(ControllerAreaNetwork)总线协议扮演着不可或缺的角色。作为一个汽车内部网络的标准协议,CANBus已经成为了车载系统通信的基础。而在Android车载应用开发的过程中,理解并利用好CANBus协议是必不可少的。那么,CANBus到底是什么?它又是如何在车载......
  • Mysql(2)—SQL语法详解(通俗易懂)
    一、关于SQL1.1简介SQL(StructuredQueryLanguage,结构化查询语言)是一种用于管理关系型数据库的标准编程语言。它主要用于数据的查询、插入、更新和删除等操作。SQL最初在1970年代由IBM的研究人员开发,旨在处理关系数据模型。MySQL支持SQL,用于对数据库进行查询、更新和管理。......
  • Docker常用命令
    #第1步,去DockerHub查看nginx镜像仓库及相关信息#第2步,拉取Nginx镜像dockerpullnginx#第3步,查看镜像dockerimages#结果如下:REPOSITORYTAGIMAGEIDCREATEDSIZEnginxlatest605c77e624dd16monthsago141MBmysql......
  • java中HashMap扩容机制详解(扩容的背景、触发条件、扩容的过程、扩容前后的对比、性能
    在Java中,HashMap是一个非常常用的数据结构,基于哈希表实现,它通过键值对的形式存储数据。为了保证其操作的效率,HashMap采用了一种动态扩容机制。当HashMap中元素数量增长到一定程度时,会自动进行扩容。本文将详细讲解HashMap的扩容机制,包括其触发条件、过程、及扩容过程中可能......
  • 网络安全学习路线图(2024版详解)
      近期,大家在网上对于网络安全讨论比较多,想要学习的人也不少,但是需要学习哪些内容,按照什么顺序去学习呢?其实我们已经出国多版本的网络安全学习路线图,一直以来效果也比较不错,本次我们针对市场需求,整理了一套系统的网络安全学习路线图,供大家学习参考。希望大家按照路线图进行......
  • Vulnhub--y0usef靶场漏洞多种方法详解复现
    目录0x00准备工作1.靶场导入2.virtualbox网络设置3.靶机和攻击机的IP地址0x01信息收集1.主机发现2.详细信息扫描3.目录扫描0x02 漏洞挖掘1.403绕过2.burp爆破3.方法一:文件上传4.本地提权5.方法二:nc反弹shell6.方法三:使用msfvenom工具0x00准备工作靶场下载:h......
  • Nuxt.js 应用中的 ready 事件钩子详解
    title:Nuxt.js应用中的ready事件钩子详解date:2024/10/12updated:2024/10/12author:cmdragonexcerpt:ready钩子是Nuxt.js中一个重要的生命周期事件,它在Nuxt实例初始化完成后被调用。当Nuxt已经准备好并准备开始处理请求或渲染页面时,这一钩子会被触发......
  • Nuxt.js 应用中的 kit:compatibility 事件钩子详解
    title:Nuxt.js应用中的kit:compatibility事件钩子详解date:2024/10/11updated:2024/10/11author:cmdragonexcerpt:kit:compatibility是处理浏览器兼容性问题的有效工具。正如本篇文章中所述,合理地利用这一钩子可以提升用户体验,并确保应用在不同环境中都能稳......