Docker基础篇之常用命令

news2024/12/23 5:14:32

文章目录

    • 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.coloradmin.cn/o/1704537.html

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

相关文章

ubuntu 22.04 appearance设置没有dock选项

1、问题描述 解决办法可以直接跳到后面见2 下图是我同学电脑的appearance界面选项&#xff0c;她有Dock的界面显示。 下面是我的界面&#xff0c; 没有Dock&#xff1a; 然后各种app的界面都在最底下&#xff0c;而且每次只能点击左上角的activities才能显示。 但是如果不打开某…

YoloV8实战:各种图绘制汇总(mAP50、mAP50-95、loss、PR_curve、F1_curve)|科研必备|绘图神器

摘要 本文的内容是告诉大家如何绘制mAP50、mAP50-95、loss、PR_curve、F1_curve等图像,方便大家写论文。 绘制mAP50、mAP50-95、loss等图。 先上效果,如下图: 首先将,训练的result.csv汇总到一个文件夹下面(这样方便寻找),要不然找起来太麻烦。如下图: 我都放到re…

STM32H750外设之ADC通道选择

目录 概述 1 通道选择功能介绍 2 通道选择&#xff08; SQRx、 JSQRx&#xff09; 2.1 通道复用 2.1.1 通道介绍 2.1.2 通道框图 2.2 转换分组 2.3 内部专用通道 3 通道预选寄存器 (ADCx_PCSEL) 3.1 功能介绍 3.2 预选通道寄存器 概述 本位主要介绍STM32H750外设之…

【钉钉AI助理】测试用例创造师,快速生成高质量的测试用例!

前言&#xff1a; 我最近发现了个提升工作效率的秘密武器——钉钉AI助理里的‘测试用例创造师’。 试了下&#xff0c;简直是工作中的小确幸&#xff0c;既增加了乐趣&#xff0c;又真的帮了大忙。往里一粘需求&#xff0c;唰唰几下&#xff0c;各种测试场景就蹦出来了&#…

188M2传奇BLUEM2引擎源码开源版附带编译教程2024最新开源

2024最新开源188M2传奇BLUEM2引擎源码开源2版最初开源版本附带编译教程 源码下载地址&#xff1a;极速云 如果需要优惠可以选择第一版最初开源188M2传奇BLUEM2引擎源码开源1版最初开源版本附带编译教程2024最新开源

帆软生成csv文件

帆软官网提供了导出csv文件的插件&#xff0c;需要下载指定版本的插件 请选择具体的详情点击官网介绍&#xff1a;文档介绍 插件地址&#xff1a;插件地址

Monocular Model-Based 3D Tracking of Rigid Objects:2005年综述

1 Introduction 在视频序列中跟踪一个物体意味着在物体或摄像机移动时&#xff0c;持续识别其位置。根据物体类型、物体和摄像机的自由度以及目标应用的不同&#xff0c;有多种方法可供选择。二维跟踪通常旨在跟踪物体或物体部分的图像投影&#xff0c;这些物体的三维位移会导…

微信资源混淆,导致的约束布局 Constraintlayout 控件重叠!

问题 1、广告六要素 虽然我不参与广告 sdk 接入等相关工作&#xff0c;但是最近总是听到一个词广告六要素。这到底是什么&#xff1f; 国内下载类广告&#xff0c;尤其是针对移动应用推广的广告&#xff0c;其成功实施往往围绕几个关键要素进行&#xff0c;这些要素能够帮助…

互联网政务应用安全管理规定:使用安全连接方式访问

前几日&#xff0c;由中央网络安全和信息化委员会办公室、中央机构编制委员会办公室、工业和信息化部、公安部等4部门联合制定的《互联网政务应用安全管理规定》&#xff08;以下简称规定&#xff09;发布了&#xff0c;规定定义了互联网政务应用&#xff0c;也对互联网政务应用…

stream-并行流

定义 常规的流都是串行的流并行流就是并发的处理数据&#xff0c;一般要求被处理的数据互相不影响优点&#xff1a;数据多的时候速度更快&#xff0c;缺点&#xff1a;浪费系统资源&#xff0c;数据少的时候开启线程更耗费时间 模版 Stream<Integer> stream1 Stream.of…

拿捏数据结构- 链式二叉树

链式二叉树的概念&#xff1a; 链式二叉树解决的是非完全二叉树解决不了的问题 什么意思呢&#xff0c;简单的说就是&#xff0c;链式二叉树 可以是下面三种二叉树 但是非链式二叉树只能是前两种 链式二叉树的存储 节点结构&#xff1a;首先定义一个结构体或类来表示二叉树的节…

快速上手 HuggingFace

HuggingFace HuggingFace 是类似于 GitHub 的社区&#xff0c;它主要提供各种的模型的使用&#xff0c;和 github 不同的是&#xff0c;HuggingFace 同时提供了一套框架&#xff0c;进行模型推理&#xff0c;模型训练、和模型库文件的管理等等。本文将介绍&#xff0c;如何快速…

大字体学生出勤记录系统网页源码

源码介绍 上课需要一个个点名记录出勤情况&#xff0c;就借助AI制作了一个网页版学生出勤记录系统&#xff0c; 大字体显示学生姓名和照片&#xff0c;让坐在最后排学生也能看清楚&#xff0c;显示姓名同时会语音播报姓名&#xff0c; 操作很简单&#xff0c;先导入学生姓名…

Golang | Leetcode Golang题解之第115题不同的子序列

题目&#xff1a; 题解&#xff1a; func numDistinct(s, t string) int {m, n : len(s), len(t)if m < n {return 0}dp : make([][]int, m1)for i : range dp {dp[i] make([]int, n1)dp[i][n] 1}for i : m - 1; i > 0; i-- {for j : n - 1; j > 0; j-- {if s[i] …

C++ | Leetcode C++题解之第115题不同的子序列

题目&#xff1a; 题解&#xff1a; class Solution { public:int numDistinct(string s, string t) {int m s.length(), n t.length();if (m < n) {return 0;}vector<vector<unsigned long long>> dp(m 1, vector<unsigned long long>(n 1));for (i…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-19.1讲 串口格式化输出printf

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

PHP:集成Xunsearch生成前端搜索骨架

如果是安装宝塔&#xff0c;我们在集成xunsearch的时候就会比较简单&#xff0c;后面我们在介绍其他的接入方式&#xff1b; 首先我们进入到宝塔管理后台&#xff1a;【软件商店】-【输入xun】-【点击xunsearch】直接安装即可 安装成功之后&#xff0c;会自动在www/server中创…

(delphi11最新学习资料) Object Pascal 学习笔记---第13章第4节 (内存管理和接口)

13.4 内存管理和接口 ​ 在第11章中&#xff0c;我介绍了接口的内存管理的关键要素。与对象不同&#xff0c;接口是受管理且具有引用计数。如我所提到的&#xff0c;接口引用会增加所引用对象的引用计数&#xff0c;但您可以声明接口引用为弱引用以禁用引用计数&#xff08;但…

Reactor模式Proactor模式

1.Reactor/Dispatcher模式 1.1 概述 Reactor模式下&#xff0c;服务端的构成为Reactor 处理资源池。其中&#xff0c;Reactor负责监听和分发事件&#xff0c;而处理资源池则负责处理事件。 该模式下的组合方案有下面几种(第三种几乎没有被实际应用)&#xff1a; 1 * Reacto…

AURIX TC3xx单片机介绍-启动过程介绍1

从各个域控制器硬件解决方案来看,MPU可能来自多个供应商,有瑞萨,有NXP等,但对于MCU来说,基本都采用英飞凌TC3xx。 今天我们就来看一下TC3xx的启动过程,主要包含如下内容: uC上电过程中,会经过一个上电时序,从复位状态“脱离”出来;Boot Firmware是复位后第一个执行的…