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

news2024/10/11 12:17:41

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 的集成,进一步提升应用部署与管理的效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2204824.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PRAI-International Journal of Pattern Recognition and Artificial Intelligence

文章目录 一、征稿简介二、重要信息三、服务简述四、投稿须知五、联系咨询 一、征稿简介 二、重要信息 期刊官网:https://ais.cn/u/3eEJNv 三、服务简述 模式识别 • 机器学习 • 深度学习 • 文件分析 • 图像处理 • 信号处理 • 计算机视觉 • 生物识别技术 •…

Windows电脑本地安装AI文生音乐软件结合内网穿透远程访问制作

文章目录 前言1. 本地部署2. 使用方法介绍3. 内网穿透工具下载安装4. 配置公网地址5. 配置固定公网地址 前言 今天和大家分享一下在Windows系统电脑上本地快速部署一个文字生成音乐的AI创作服务MusicGPT,并结合cpolar内网穿透工具实现随时随地远程访问使用进行AI音…

上课了!老谭带你学习Ascend C,深入浅出,轻松掌握~

昇腾社区课程学习入口: Ascend C算子开发(入门)https://www.hiascend.com/developer/courses/detail/1691696509765107713Ascend C算子开发(进阶)https://www.hiascend.com/zh/developer/courses/detail/169641460679…

找出n个自然数(1,2,3,……,n)中取r个数的组合。

题目:找出n个自然数(1,2,3,……,n)中取r个数的组合。例如,当n5,r3时,所有的组合为: 1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5 首先,找到…

【Golang】Go多线程中数据不一致问题解决方案--sync锁机制

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

AI工程师:AI时代的新岗位

从数量上看,AI工程师的数量可能比机器学习工程师/LLM工程师的数量要多得多。一个人可以非常成功地胜任这个角色,而无需接受任何培训。 —— Andrej Karpathy 仅初创公司的收入就超过 10 亿美元,随着 Gen AI 的早期成功迹象,每家有…

The current Windows user is not valid for executing Rabbitmq scripts

问题描述 在New Configuration或者Join host 配置的时候,执行配置信息报错如下 原因分析 可能的原因有如下两点 Cookie没有正确分配给当前用户这台机器是克隆来的,而且改了机器名 问题解决 要解决这个问题,需要卸载Erlang和RabbitMQ并重新安…

大数据-164 Apache Kylin Cube优化 案例1 定义衍生维度与对比 超详细

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

中国数据库产业图谱(2024)

全图下载地址: 中国数据库产业图谱(2024)

雾霾下雨天气户外人像街景拍摄Lr后期调色,手机滤镜PS+Lightroom预设下载!

调色详情 在雾霾下雨天气下拍摄的户外人像街景往往具有一种独特的氛围。通过 Lightroom 进行后期调色,可以进一步强化这种氛围,使照片更加富有情感和艺术感。 预设信息 调色风格:灰调风格预设适合类型:人像,雾霾&am…

Xcode报错:Undefined symbols,Linker command failed with exit code1

这种编译报错点击Xcode左侧的小红叉这两行点击没反应,不知道具体报错原因怎么弄? 解决办法: 第一步:点周Xcode左侧工具栏的编译log日志按钮 第二步:第一步点击完Xcode左侧出现了编译历史列表,可以看到有报…

如何使用selenium结合最新版chrome爬虫

如何使用selenium结合最新版chrome爬虫 1、下载chrome及其插件chromedriver-win64 点我下载 [百度网盘] 通过百度网盘分享的文件:chrome爬虫插件 链接:https://pan.baidu.com/s/1kqkblX_ordZsQNYR234bMg 提取码:8888 下载后,解压安装。 2、配置电脑系统环境 我的电脑-…

Cocos 2 使用 webview 嵌入页面,摄像头调用没权限问题

Cocos 2 使用 webview 嵌入页面,摄像头调用没权限问题 嗯,这么说呢,这篇博文看自己的实际需求哈,标题写的可能不是很准确。 我这边呢,是遇到这样一个功能,就是有一个服务,他是的页面呢&#xff…

CentOS7离线安装gcc和gcc-c++(亲测成功)

1.点击下载安装包(下载下来的是gz文件,在linux环境下解压) 提取码:1111 2.进入gcc_rpm目录,执行安装命令 cd gcc_rpm/rpm -ivh *.rpm --nodeps --force3.验证gcc是否安装成功 gcc -v安装gcc-c 1.进入 gcc-c 文件件目录下 cd ../gcc-c/…

高校党费收缴系统小程序的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,党费收缴管理,论坛信息管理,新闻动态管理,公告管理,基础数据管理 微信端账号功能包括:系统首页,公告&…

【刷题】数组中的逆序对

题目链接:. - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/shu-zu-zhong-de-ni-xu-dui-lcof/submissions/571…

嵌入式硬件设计:从原理到实践

嵌入式硬件设计:从原理到实践 嵌入式硬件设计在物联网、智能设备、工业自动化等领域中扮演着至关重要的角色。随着技术的发展,越来越多的设备依赖于嵌入式系统进行实时控制与数据处理。本文将详细介绍嵌入式硬件设计的各个方面,从设计原理到…

Transformer细节问题

一、Transformer 以下是Transformer的一些重要组成部分和特点: 自注意力机制(Self-Attention):这是Transformer的核心概念之一,它使模型能够同时考虑输入序列中的所有位置,而不是像循环神经网络&#xff…

成都睿明智科技有限公司正规吗怎么样?

在数字经济的浪潮中,抖音电商以其独特的内容生态和庞大的用户基础,正逐步成为商家们竞相布局的新蓝海。而在这场电商变革的浪潮中,成都睿明智科技有限公司以其专业的服务和敏锐的市场洞察力,成为了众多商家信赖的合作伙伴&#xf…

QAbstractTableModel只有refresh才能调动data()更新表格数据

void refresh() { beginResetModel(); endResetModel(); } QVariant data(const QModelIndex &index, int role) const