Docker基础篇之常用命令

文章目录

    • 1. 帮助启动类命令
    • 2. 镜像命令
    • 3. 容器命令
    • 4. 总结

1. 帮助启动类命令

启动docker:

systemctl start docker

停止docker:

systemctl stop docker

重启docker:

systemctl restart docker

查看docker 的运行状态:

systemctl status docker

开机启动:

systemctl enable docker

查看docker该要信息:

docker info

在这里插入图片描述
查看docker 帮助文档

docker --help

在这里插入图片描述

查看docker命令帮助文档:

docker 具体命令 --help

在这里插入图片描述

2. 镜像命令

  • docker images [options]:列出本地主机上的所有镜像

在这里插入图片描述

Repository:表示镜像的仓库源
Tag:镜像的标签
Image Id:镜像ID
Created:镜像创建的时间
Size:镜像的大小

同一个仓库源可以有多个Tag版本,代表这个仓库源的不同个版本,我们使用Repository:Tag来定义不同的镜像。
它的options选项说明如下:

-a:列出本地所有的镜像
-q:只显示镜像的ID
  • docker search [options]:远程库中查找某个镜像的名称
    在这里插入图片描述

Name:镜像名称
Description:镜像说明
Stars:点赞数
Official:是否是官方的
Automated:是否是自动构建的

它的options选项说明如下:

--limit:只列出N个镜像,默认是15个
docker search --limit 5 redis
  • docker pull 某个xxx镜像名字:将远程库的某个镜像拉取到本地库中

该命令有两个写法:

docker pull 镜像名称[:TAG] 指定具体版本
docker pull 镜像名称  默认下载最新的
  • docker system df:查看镜像/容器/数据卷所占用的空间

在这里插入图片描述

  • docker rmi 某个xxx镜像的名字ID

删除单个:

docker rmi -f 镜像ID #-f表示强制删除

删除多个:

docker rmi -f 镜像名1:Tag 镜像名2:Tag

删除全部

docker rmi -f $(docker images -qa)

面试题:谈谈docker虚悬镜像是什么?
答:首先虚悬镜像是仓库名和标签都是<none>的镜像,俗称为虚悬镜像(dangling image)

3. 容器命令

首先要知道,有镜像才能创建容器,所以在创建容器之前本地库需要有对应的镜像。

  • 首先准备ubuntu镜像
docker pull ubuntu

在这里插入图片描述

  • 新建并启动容器
docker run [options] image [command][arg...]

options选项说明:

–name:容器的新名字
-d:后台运行容器并返回容器ID,也即启动守护式容器(后台运行)
-i:以交互模式运行容器,通常和-t同时使用
-t:为容器重新分配一个伪输入终端,通常和-i一起使用(-t -i也即启动交互式容器—前台有终端,等待交互)
-P:随机端口映射
-p:指定端口映射

启动交互式容器
在这里插入图片描述
上面就使用ubuntu以交互模式启动类一个容器,在容器内执行/bin/bash命令

  • 列出正在运行的所有容器
docker ps [options]

在这里插入图片描述

options选项说明:

-a:列出当前所有正在运行的容器+历史运行过的
-i:显示最近创建的容器
-n:显示最近n个创建的容器
-q:静默模式,只显示容器编号

  • 退出容器

容器有两种退出方式:

exit:run进入容器,exit退出,容器停止(容器内部操作)
ctrl+p+q:run进入容器,ctrl+p+q退出,但是容器不停止(容器内部操作)

  • 启动已经停止运行的容器
docker start 容器ID或者容器名

在这里插入图片描述

  • 重启容器
docker restart 容器ID或者容器名
  • 停止容器
docker stop 容器ID或者容器名
  • 强制停止容器
docker kill 容器ID或者容器名
  • 删除已经停止的容器
docker rm 容器ID 
  • 其它重要知识点

有镜像才能创建容器,这里下载一个redis镜像进行演示

启动守护式容器

在大部分场景下,我们希望docker的服务是在后台运行的,我们可以通过-d指定容器的后台运行模式

docker run -d 容器名

注意:我们使用docker run -d ubuntu(对于ubuntu)后,然后使用docker ps -a进行查看,可以发现容器已经退出,这里涉及很重要的一点说明,Docker容器后台运行,就必须有一个前台进程,容器运行的命令如果不是那些一直挂起的命令,就是会自动退出的。这是docker的机制问题,比如你的web容器,以nginx为例,正常情况下,我们配置启动服务只需要启动响应的service即可,例如service nginx start,但是,这样做nginx为后台进程模式运行,就导致docker前台没有运行的应用,这样的容器后台启动后,会立即自杀,因为他觉得自己没事做。所以,最佳的解决方案是,将你要运行的程序以前台进程的形式运行,常用的就是命令行模式,表示我还有交互操作。

而redis这类服务就适合后台运行。

docker run --name testredis -d redis:6.2.14

在这里插入图片描述

查看容器的日志

docker  logs 容器id
docker  logs 4f6d5fb949e88925f72c21f545625645383426854a430a0940e803f53d87d3ce

在这里插入图片描述

查看容器内运行的进程

docker top 容器ID
docker top 4f6d5fb949e88925f72c21f545625645383426854a430a0940e803f53d87d3ce

在这里插入图片描述

查看容器内部细节

docker inspect 容器ID
docker inspect 4f6d5fb949e88925f72c21f545625645383426854a430a0940e803f53d87d3ce

在这里插入图片描述
进入正在运行的容器并以命令行交互

docker exec -it 容器ID bashShell 
docker attach 容器ID

上诉两个命令的区别是,attach是进入容器启动命令的终端,不会启动新的进程,用exit退出会导致容器停止。exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止。

从容器内部拷贝文件到主机上

docker  cp 	容器ID:容器内路径 目的主机路径

导入和导出容器(容器的备份和恢复)

export :导入容器的内容留作为一个tar归档文件[对应import命令]
import:从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]docker export 容器ID>文件名.tar
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

在这里插入图片描述

4. 总结

在这里插入图片描述

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

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

相关文章

MER 2024 第二届多模态情感识别挑战赛

多模态情感识别是人工智能领域的一个活跃研究课题。它的主要目标是整合多种模态来识别人类的情绪状态。当前的工作通常为基准数据集假设准确的情感标签&#xff0c;并专注于开发更有效的架构。然而&#xff0c;现有技术难以满足实际应用的需求。 清华大学陶建华教授联合中国科学…

Flutter 中的 AspectRatio 小部件:全面指南

Flutter 中的 AspectRatio 小部件&#xff1a;全面指南 Flutter 是一个流行的跨平台 UI 框架&#xff0c;它提供了丰富的小部件来帮助开发者构建高质量的应用程序。在 Flutter 的小部件库中&#xff0c;AspectRatio 是一个非常有用的小部件&#xff0c;它允许开发者以一种简单…

Nodejs配置静态文件路径

使用 Express 中的 express.static 内置中间件函数。 代码如下&#xff1a; const path require("path"); const express require("express"); const app express();app.use(express.static(path.join(__dirname, "public")));app.listen(80…

课时138:变量进阶_变量实践_综合案例

2.1.3 综合案例 学习目标 这一节&#xff0c;我们从 免密认证、脚本实践、小结 三个方面来学习 免密认证 案例需求 A 以主机免密码认证 连接到 远程主机B我们要做主机间免密码认证需要做三个动作1、本机生成密钥对2、对端机器使用公钥文件认证3、验证手工演示 本地主机生成…

预热 618,编程好书推荐——提升你的代码力

文章目录 &#x1f4cb;前言&#x1f3af;编程好书推荐&#x1f4d8; Java领域的经典之作&#x1f40d; Python学习者的宝典&#x1f310; 前端开发者的权威指南&#x1f512; 并发编程的艺术&#x1f916; JVM的深入理解&#x1f3d7; 构建自己的编程语言&#x1f9e0; 编程智…

WJ2EDGKA-5.08-8P功能和参数介绍及PDF资料

WJ2EDGKA-5.08-8P 是一款接线端子&#xff0c;以下是它的主要功能和参数介绍&#xff1a; 间距: 5.08mm&#xff08;0.2英寸&#xff09;&#xff0c;这是指相邻针脚之间的中心距离。 针脚数: 8个针脚&#xff08;1X8Pins&#xff09;&#xff0c;这意味着该端子可以连接8根导线…

01- Redis 中的 String 数据类型和应用场景

1. 介绍 String 是最基本的 key-value 结构&#xff0c;key 是唯一标识&#xff0c;value 是具体的值&#xff0c;value 其实不仅是字符串&#xff0c;也可以是数字&#xff08;整数或浮点数&#xff09;&#xff0c;value 最多可以容纳的数据长度是 512M。 2. 内部实现 Str…

基于Zynq 7000 SoC的迁移设计

基于Zynq 7000 SoC的迁移设计 Vivado IDE工具使用IP集成器进行嵌入式开发。各种IP Vivado IDE IP目录中提供&#xff0c;以适应复杂的设计。您也可以添加 自定义IP到IP目录。 您可以将基于Zynq 7000平台处理器的设计迁移到Vivado design Suite中 使用以下步骤。 1.生成系统基础…

知攻善防应急响应靶机训练-Web3

前言 本次应急响应靶机采用的是知攻善防实验室的Web-3应急响应靶机 靶机下载地址为&#xff1a; https://pan.quark.cn/s/4b6dffd0c51a 相关账户密码 用户:administrator 密码:xj123456xj123456 解题过程 第一题-攻击者的两个IP地址 直接查看apache的log日志搜索.php 发现…

磁力搜索器

磁力链接是一种特殊的下载链接&#xff0c;磁力链接可以理解为一个文件识别码&#xff0c;而并非具体的资源地址&#xff0c;下载软件需要拿着这个识别码去整个互联网(DHT网络)去寻找持有该资源的用户(节点)&#xff0c;如果找到则可以进行传输下载。一般年代越久远的磁力链接下…

今日总结2024/5/27

今日学习了状态压缩DP,状态压缩DP分为棋盘型(基于连通性)和集合型 Acwing.1064 小国王 在 nn的棋盘上放 k个国王&#xff0c;国王可攻击相邻的 8个格子&#xff0c;求使它们无法互相攻击的方案总数。 输入格式 共一行&#xff0c;包含两个整数 n和 k。 输出格式 共一行&…

图像处理知识积累

冲激响应 冲激响应是系统在单位冲激函数激励下引起的零状态响应&#xff0c;它与系统的传递函数互为傅里叶变换关系。在连续时间系统中&#xff0c;任一个信号可以分解为具有不同时延的冲激信号的叠加&#xff0c;因此冲激响应可以描述系统的基本特性。通过电路分析法求解…

【华为OD机试-C卷D卷-200分】篮球游戏(C++/Java/Python)

【华为OD机试】-(A卷+B卷+C卷+D卷)-2024真题合集目录 【华为OD机试】-(C卷+D卷)-2024最新真题目录 题目描述 幼儿园里有一个放倒的圆桶,它是一个线性结构,允许在桶的右边将篮球放入,可以在桶的左边和右边将篮球取出。 每个篮球有单独的编号,老师可以连续放入一个或多个…

三维大场景管理-3Dtiles规范

简介 &#xff1a; 这篇文章都是三年前写的了&#xff0c;一直在笔记库存中&#xff0c;今天把他放出来。主要是讲Cesium 的3Dtiles 格式&#xff0c;当然3Dtiles主要是解决场景管理大场景的LOD实现的问题&#xff0c;不管是剔除渲染性能优化之Culling 剔除或者 LOD 、3Dtiles…

【JAVA】JSONObject.fromObject(message)引发的JSONObject 详解

【JAVA】JSONObject.fromObject(message&#xff09;引发的JSONObject 详解 一、JsonObject 简介二、JsonObject 基本操作2.1 、创建 JSONObject2.2、访问和操作 JSONObject2.3 生成 JSON 字符串2.4、示例代码 三、JsonObject 常见库3.1、使用 org.json 库3.2、使用 net.sf.jso…

Java 8的Stream API的使用说明,轻松实现集合的各种转换

Java 8中的Stream API为函数式编程带来了极大的便利&#xff0c;使得处理集合数据变得更加高效和简洁。以下是关于Java 8 Stream API的使用说明&#xff0c;我会尽量按照清晰的结构进行分点表示和归纳&#xff1a; 一、Stream API的基本概念 Stream&#xff1a;Stream是Java 8…

Educational Codeforces Round 158 B. Chip and Ribbon (贪心)

有一条带子&#xff0c;分为 n 个单元格&#xff0c;从左到右编号为 1 至 n 。最初&#xff0c;每个单元格中都写入了一个整数 0 。 单细胞与芯片玩游戏。游戏由几个回合组成。在第一轮中&#xff0c;Monocarp 将芯片放入色带的 1 -st 单元中。除了第一轮之外&#xff0c;在每…

SSM基于微信小程序的校园表白墙的设计与实现-计算机毕业设计源码58219

摘 要 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;校园表白墙微信小程序被用户普遍使用&#xff0c;为方便用…

Java面试八股之自旋是什么意思

Java中的自旋是什么意思 自旋是多线程编程中的一种同步机制&#xff0c;尤其在Java中与锁的实现密切相关。当一个线程尝试获取某个锁&#xff08;如内置锁或显式锁&#xff09;时&#xff0c;如果锁已被其他线程持有&#xff0c;通常的做法是将该线程置于阻塞状态&#xff0c;…

图形学概述

图形学应用 游戏 游戏的画面好坏如何鉴定呢&#xff1f; 看游戏画面是否够亮&#xff1a;渲染中全局光照的好坏 《只狼》 为什么卡通游戏画面看起来是卡通的呢&#xff1f; 《无主之地3》 这些都是图形学需要着手解决的问题 电影 电影《黑客帝国》的特效也是通过计算机…