Docker容器的基础命令操作大全(入门必看)

news2024/12/28 5:47:33

本指南将带您深入了解Docker的基本操作,包括镜像的管理、容器的创建与删除,以及如何高效地使用Docker进行开发和部署。通过这些内容,您将掌握Docker的核心概念,为未来的项目奠定坚实的基础。让我们一起开启这段探索之旅,发现Docker带来的无限可能!

1.搜索镜像a

 docker search httpd  

2.获取镜像

命令格式:

docker pull 仓库名称[标签]

下载镜像httpd

docker pull httpd

实例:

[root@localhost ~]# docker pull httpd
Using default tag: latest
latest: Pulling from library/httpd
e4fff0779e6d: Already exists 
1d0292c3dcd2: Already exists 
4f4fb700ef54: Already exists 
1316399d8fbf: Already exists 
b4cc6570db82: Already exists 
fd1a778092db: Already exists 
Digest: sha256:3f71777bcfac3df3aff5888a2d78c4104501516300b2e7ecb91ce8de2e3debc7
Status: Downloaded newer image for httpd:latest

3.查看已下载镜像

命令格式

docker images 仓库名称:[标签]

实例:

[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
httpd        latest    a49fd2c04c02   4 weeks ago   148MB
nginx        latest    900dca2a61f5   7 weeks ago   188MB

单独查看某个镜像

docker images httpd:latest

REPOSITORY   TAG              CREATED       SIZE
httpd        latest    a49fd2c04c02   4 weeks ago   148MB
查看镜像详情

docker inspect a49fd2c04c02(IMAGE ID号)

镜像的详细信息中包括创建时间、系统版本、主机名、域名、用户、卷、标签、操作系统,设备 ID等各种信息。

3.修改标签

可以用 dockertag 命令来为本地的镜像添加新的标签

语法格式

docker tag httpd:旧标签 httpd:新标签

实例:

[root@localhost ~]# docker tag httpd:latest httpd:mytag
[root@localhost ~]# docker images httpd:latest
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
httpd        latest    a49fd2c04c02   4 weeks ago   148MB
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
httpd        latest    a49fd2c04c02   4 weeks ago   148MB
httpd        mytag     a49fd2c04c02   4 weeks ago   148MB
nginx        latest    900dca2a61f5   7 weeks ago   188MB


httpd:latest 是原始标签。
httpd:mytag 是你新添加的标签。

这两个标签都指向同一个镜像 ID,因此它们共享相同的内容和大小。

你可以使用这两个标签来运行相同的镜像。

docker run httpd:latest
docker run httpd:mytag

4.删除镜像(两种)

使用docker rmi命令删除镜像

镜像ID删除

你可以使用镜像的 ID 来删除镜像。例如:

docker rmi a49fd2c04c02

需要注意的是:

如果镜像被多个标签引用

强制删除镜像

如果你确定要删除该镜像,可以使用 -f选项强制删除:

docker rmi -f a49fd2c04c02

也可以删除标签,然后在通过镜像ID删除

标签删除

你也可以使用镜像的名称和标签来删除镜像。例如:

docker rmi httpd:latest
docker rmi httpd:mytag
注意事项

当一个镜像有多个标签的时候,docker rmi 命令只是删除该镜像多个标签中的指定标签,不会影响镜像文件,相当于只是删除了镜像的一个标签而已。

!!! 如果镜像正在被容器使用,你可能需要先停止并删除相关的容器,才能成功删除镜像。

docker ps -a

5.存出镜像

语法格式

docker save -o <保存的文件名>.tar <镜像名>:<标签>

实例如下:

存出镜像/dmk

使用 docker save 命令将镜像保存为一个 tar 文件

[root@localhost ~]# docker save -o httpd.tar httpd:mytag
[root@localhost ~]# ll
总用量 148616
-rw-------. 1 root root 152180736 8月  15 14:56 httpd.tar

//这条命令会将 httpd:latest 镜像保存为名为 myimage.tar 的文件。

6.载入镜像

语法格式

使用 docker load 命令从 tar 文件中加载镜像:

docker load -i <文件名>.tar

实例:

首先需要删除镜像,然后进行恢复

例如,从 httpd.tar 文件中导入镜像,可以使用

docker load -i httpd.tar

查看是否成功

docker images

总结

导出镜像

docker save -o <文件名>.tar <镜像名>:<标签>

导入镜像

docker load -i <文件名>.tar

Docker容器操作

1.创建容器

[root@localhost ~]# docker create -it --name web01 -p 80:80 httpd:latest /bin/bash
a68edea9638730c70363e7a32d9b3a3b21e7938d39343abdd5a2d9a9babd8c39

参数解释docker create: 创建一个新容器,但不启动它。-it: 以交互模式运行容器,并分配一个伪终端。–name web01: 为容器指定名称为 web01。-p 80:80: 将主机的 80 端口映射到容器的 80 端口。httpd:latest: 使用 httpd 镜像的最新版本。/bin/bash: 指定容器启动时执行的命令。

2.启动容器

[root@localhost ~]# docker start web01  /或者ID
web01
[root@localhost ~]# docker ps 
CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS         PORTS                               NAMES
a68edea96387   httpd:latest   "/bin/bash"   3 minutes ago   Up 3 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   web0

关闭容器

docker stop web01 /或者ID

3.创建并开启

docker run -d --name nginx-do -p 80:80 nginx

-d:在后台运行容器(分离模式)。–name nginx-do:为容器指定一个名称(可选)。-p 80:80:将主机的 80 端口映射到容器的 80 端口。

4.容器的进入

  • 进入容器

要进入正在运行的容器,您可以使用 docker exec 命令。

基本语法如下:

docker exec -it <容器名称或ID> /bin/bash

实例

假设您有一个名为 nginx 的容器,可以通过以下命令进入

docker exec -it nginx-do /bin/bash
root@2ee5e3023732:/# ls
bin  boot  dev  docker-entrypoint.d  docker-entrypoint.sh  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

5.导出容器

要导出一个容器的文件系统,可以使用 docker export 命令。此命令将容器的文件系统导出为一个 tar 文件。

示例

假设您要导出名为 nginx-do的容器

[root@localhost ~]# docker export nginx-do > nginx-do.tar
[root@localhost ~]# ls
httpd.tar  nginx-do.tar

这将创建一个名为 nginx-do.tar 的文件,包含容器的文件系统。

6.导入容器

要从一个 tar 文件导入容器,可以使用 docker import 命令。此命令将 tar 文件导入为一个新的镜像。

示例

假设您要从 nginx-do.tar 文件导入一个新的镜像:

cat nginx-do.tar | docker import - nginx:latest

这将创建一个名为 nginx:latest的新镜像。

7.容器的删除

在 Docker 中,删除容器可以通过 docker rm 命令进行。

  • 查看当前容器

首先,您可以查看当前所有容器(包括运行中的和已停止的):

docker ps -a
  • 删除已停止的容器

要删除一个已停止的容器,可以使用以下命令:

docker rm <容器名称或ID>

示例如果您要删除名为 nginx-do 的容器:

docker rm nginx-do
  • 强制删除正在运行的容器

如果您需要删除一个正在运行的容器,可以使用 -f(或 --force)选项强制删除:

docker rm -f <容器名称或ID>

示例强制删除正在运行的 nginx-do 容器:

docker rm -f nginx-do
  • 删除多个容器您也可以一次性删除多个容器,只需在命令中列出容器名称或 ID:
docker rm <容器1> <容器2> ...

示例

docker rm nginx-do nginx-other
  • 删除所有已停止的容器
  • 如果您想要删除所有已停止的容器,可以使用以下命令:
docker container prune
  • 这将提示您确认是否要删除所有已停止的容器。

注意事项

确保您不再需要容器中的数据,因为删除容器后,容器的文件系统及其数据将永久丢失。如果容器是基于某个镜像创建的,删除容器不会影响该镜像

总结

Docker是一种强大的容器化技术,极大地简化了应用程序的开发、测试和部署流程。通过使用Docker,开发者可以轻松地创建、管理和共享容器化应用,确保在不同环境中的一致性。

成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

“每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。”

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

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

相关文章

安装open-webui报错

通过docker安装open-webui容器一直重启中 提示报错“OpenBLAS blas_thread_init: pthread_create failed for thread 1 of 16: Operation not permitted...” 解决&#xff1a; 在容器启动命令中加上--privilegedtrue

AIAutoPrediction足球数据分析软件工具安装教程(附带操作截图)

文章目录 前言一、AIAutoPrediction是什么&#xff1f;二、AIAutoPrediction能做什么&#xff1f;即时大小球预测即时亚盘预测大小球、亚盘初盘分析 三、安装教程1、软件下载2、打开安装包&#xff0c;进行软件安装3、选择安装目录4、执行安装5、安装完成6、开始使用 总结 前言…

Tomcat服务器安装SSL证书教程

Tomcat服务器安装SSL证书教程&#xff0c;主要包括获取证书、安装证书、重启Tomcat以及测试SSL证书是否安装成功等4大步骤&#xff0c;以下是详细图文教程。 一、获取证书 现在锐成信息申请一张SSL证书&#xff0c;证书申请成功后&#xff0c;会获取到颁发证书文件&#xff0…

队列+宽搜(BFS)

前言 宽搜属于搜索类算法 搜索类算法&#xff1a; 深搜&#xff08;DFS&#xff09;宽搜&#xff08;BFS&#xff09; 宽搜可以解决树、图、最短路径、迷宫、拓扑排序等问题 429. N 叉树的层序遍历 题目链接&#xff1a;429. N 叉树的层序遍历 题目解析 题目意思就是对这个…

ETCD的备份和恢复

一、引言 ETCD是一个高度可用的键值存储系统&#xff0c;被广泛应用于Kubernetes等分布式系统中以存储关键配置数据和服务发现信息。由于ETCD的重要性&#xff0c;确保其数据的安全性和可靠性至关重要。本文将介绍ETCD备份与恢复的基础知识、常用方法及最佳实践。 二、概述 …

Qt绘制动态仪表

背景&#xff1a; 项目需要&#xff0c;可能需要做一些仪表显示。此篇除了介绍实现方法&#xff0c;还要说明心路历程。对我而言&#xff0c;重要的是心理&#xff0c;而不是技术。写下来也是自勉。 本人起初心里是比较抵触的&#xff0c;从业20多年了&#xff0c;深知所谓界…

Linux 中 Tail 命令的 9 个实用示例

引言 我们作为 Linux 用户&#xff0c;经常会操作那些在后台长时间运行的进程&#xff0c;这些进程被称作守护进程或服务。例如 Secure Shell (sshd)、Network Manager (networkd)、Volume Manager (LVM)、Cron 等都是服务的典型例子&#xff0c;这样的服务还有很多。 在许多情…

1.10 DFT示例1

1.10 DFT示例1 Tips&#xff1a;离散傅里叶的不同角度的解释。 参考&#xff1a;https://mp.weixin.qq.com/s/TrRmqkc34Zqw9pgaITqlZg?poc_tokenHF5h1WajXiXCmFpwIbv1HaHN52KsET1UE29CM561 摘取部分核心观点&#xff1a; 站在高观点下看问题&#xff0c;傅里叶变换本质上是…

MySQL表的操作与数据类型

目录 前言 一、表的操作 1.创建一个表 2.查看表的结构 3.修改表 4.删除一个表 二、 MySQL的数据类型 0.数据类型一览&#xff1a; 1.整数类型 2.位类型 3.小数类型 4.字符类型 前言 在MySQL库的操作一文中介绍了有关MySQL库的操作&#xff0c;本节要讲解的是由库管理的结构——…

PointNet++改进策略 :模块改进 | x-Conv | PointCNN, 结合局部结构与全局排列提升模型性能

目录 前言PointCNN实现细节1. X X X-Conv 操作输入输出步骤 2. PointCNN 网络架构层级卷积分类与分割任务 3. 数据增强4. 效率优化 前言 这篇论文介绍了一种名为 PointCNN 的方法&#xff0c;旨在从点云&#xff08;point cloud&#xff09;数据中学习特征。传统卷积神经网络…

华为 HCIP-Datacom H12-821 题库 (9)

有需要题库的可以看主页置顶 V群进行学习交流 1.以下关于 RSTP 保护功能的描述&#xff0c;错误的是哪一选项&#xff1f; A、环路保护可以部署在根端口上&#xff0c;以防网络中形成环路 B、环路保护可以部署在Alternate 端口上&#xff0c;以防网络中形成环路 C、BPDU 保…

“短视频 + ”新业态下的高职院校数字媒体技术专业群建设方案

一、引言 短视频&#xff0c;亦称短片视频&#xff0c;是在移动互联网快速普及背景下兴起的一种新兴媒体形态&#xff0c;它继承了传统影视行业的一些特点并加以创新。相较于传统的文字和图片传播方式&#xff0c;短视频集声音与影像于一体&#xff0c;能够承载更多的信息量&a…

【JAVA开源】基于Vue和SpringBoot的网上订餐系统

本文项目编号 T 018 &#xff0c;文末自助获取源码 \color{red}{T018&#xff0c;文末自助获取源码} T018&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 新…

缓存对象反序列化失败

未定义serialVersionUID&#xff0c;会自动生成序列化号 新增了属性&#xff0c;序列号就变了&#xff0c;导致缓存对象反序列化失败。 所有缓存对象必须指定序列化id&#xff01; 那我如何找到未添加字段前 对象的序列化号呢&#xff1f;默认的序列化号是如何生成的呢&#…

11、Hive+Spark数仓环境准备

1、 Hive安装部署 1&#xff09;把hive-3.1.3.tar.gz上传到linux的/opt/software目录下 2&#xff09;解压hive-3.1.3.tar.gz到/opt/module/目录下面 [shuidihadoop102 module]$ tar -zxvf /opt/software/hive-3.1.3.tar.gz -C /opt/module/ 3&#xff09;修改hive-3.1.3-b…

车辆目标检测数据集 19000张 带标注 voc yolo

数据集名称&#xff1a; 车辆目标检测数据集 数据集规模&#xff1a; 图像数量&#xff1a;19000张标注类型&#xff1a;车辆检测&#xff08;包括但不限于轿车、卡车、公交车、摩托车等&#xff09;格式兼容性&#xff1a;支持VOC和YOLO标注格式 数据集内容&#xff1a; 该…

IP网络广播服务平台任意文件上传漏洞

文章目录 免责声明搜索语法漏洞描述漏洞复现修复建议 免责声明 本文章仅供学习与交流&#xff0c;请勿用于非法用途&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任 搜索语法 icon_hash"-568806419"漏洞描述 该系统在upload接口处可上传任…

SOMEIP_ETS_099: SD_ClientServiceActivate

测试目的&#xff1a; 验证DUT能够在不停止其已运行的服务器模式的情况下&#xff0c;被触发进入客户端模式。 描述 本测试用例旨在确保DUT能够在保持服务器模式运行的同时&#xff0c;启动客户端模式的启动程序&#xff0c;并准备好作为客户端进行操作。 测试拓扑&#xf…

机器人入门系列:《通过蓝牙模块通讯控制机器人电机转动》

一、引言 在现代科技高速发展的今天&#xff0c;机器人技术作为自动化和智能化领域的重要分支&#xff0c;正以前所未有的速度改变着我们的生活和生产方式。其中&#xff0c;无线通信技术作为机器人远程控制的关键技术之一&#xff0c;其重要性不言而喻。蓝牙技术&#xff0c;…

Deepl翻译VS行业TOP3,你的翻译神器是哪款?

现在世界变得越来越小&#xff0c;大家都在用不同的语言交流&#xff0c;这时候翻译工具就特别重要了。不管是搞研究、谈生意&#xff0c;还是平时聊天&#xff0c;翻译软件都超级有用。在这么多翻译工具里&#xff0c;Deepl翻译这样的软件特别受欢迎。咱们今天就来比一比&…