Docker常用命令超细介绍,Java校招面试指南

2023-11-04

2.3 docker pull


前面我们介绍了 search命令可以从docker hub上搜索到相关的镜像,接下来看看我们通过docker pull 来下载镜像 docker pull 镜像名称[:TAG]

在这里插入图片描述

通过镜像加速下载还是比较快的

在这里插入图片描述

在这里插入图片描述

2.3 docker rmi


最后我们来看看删除镜像的操作

| 删除方式 | 命令 |

| — | :-- |

| 删除单个 | docker rmi -f 镜像ID |

| 删除多个 | docker rmi -f 镜像1:TAG 镜像2:TAG |

| 删除全部 | docker rmi -f $(docker images -qa) |

在这里插入图片描述

注意-f表示强制删除

3.容器命令

=====================================================================

接下来我们看看容器相关的命令,有镜像才能创建容器,这是核心前提,所以我们先下载一个CentOS镜像

在这里插入图片描述

3.1 新建并启动容器


centos的镜像文件已经下载好了,接下来我们开始创建第一个容器,命令如下:

docker run [OPTIONS] IMAGE [COMMAND]

OPTIONS说明常用:有些是一个减号,有些是两个减号

| options | 说明 |

| — | :-- |

| --name | “容器新名字”: 为容器指定一个名称 |

| -d | 后台运行容器,并返回容器ID,也即启动守护式容器 |

| -i | 以交互模式运行容器,通常与 -t 同时使用 |

| -t | 为容器重新分配一个伪输入终端,通常与 -i 同时使用 |

| -P: | 随机端口映射 |

| -p | 指定端口映射,有以下四种格式 ip:hostPort:containerPort

ip::containerPort

hostPort:containerPort

containerPort

|

启动交互式容器:

docker run -it centos /bin/bash

在这里插入图片描述

3.2 列出当前正在运行的容器


上面我们启动了一个centos容器,并且进入了交互界面,这时我们可以通过

docker ps [OPTIONS]

来查看正在运行的容器,OPTIONS说明

| OPTIONS | 说明 |

| — | :-- |

| -a | 列出当前所有正在运行的容器+历史上运行过的 |

| -l | 显示最近创建的容器。 |

| -n | 显示最近n个创建的容器。 |

| -q | 静默模式,只显示容器编号。 |

| --no-trunc | 不截断输出。 |

在这里插入图片描述

3.3 退出容器


我们启动了一个centos容器,这时我们想要退出容器怎么办呢?其实我们有两种方式来退出。

| 退出方式 | 说明 |

| — | :-- |

| exit | 容器停止退出 |

| ctrl+p+q | 容器不停止退出 |

在这里插入图片描述

在这里插入图片描述

3.4 启动容器


上面我们停止了一个容器,那么我们来看看怎么有别于上面的新建启动,我们来重启一个前面的容器。

docker start 容器ID或者容器名称

在这里插入图片描述

3.5 重启容器


重启容器我们来看看命令

docker restart 容器ID或者容器名称

在这里插入图片描述

3.6 停止容器


相对应的停止容器,会比较缓慢的停止

docker stop 容器ID或者容器名

3.7 强制停止容器


强制停止容器相比于上面的普通停止容器的方式会更加的直接。

docker kill 容器ID或者容器名

3.8删除已停止的容器


有时候我们需要将不需要的容器给删除。

docker rm 容器ID

一次性删除多个容器

docker rm -f $(docker ps -q -a)

将 管道符前面的命令结果作为后面命令的参数

docker ps -a -q | xargs docker rm

4.其他命令

=====================================================================

4.1 守护式容器


前面我们创建的容器是交互式的,接下来我们创建守护式的容器

docker run -d 容器名

在这里插入图片描述

问题:然后 docker ps -a 进行查看, 会发现容器已经退出

很重要的要说明的一点: Docker容器后台运行,就必须有一个前台进程.

容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的。

这个是docker的机制问题,比如你的web容器,我们以nginx为例,正常情况下,我们配置启动服务只需要启动响应的service即可。例如

service nginx start

但是,这样做,nginx为后台进程模式运行,就导致docker前台没有运行的应用,这样的容器后台启动后,会立即自杀因为他觉得他没事可做了.

所以,最佳的解决方案是,将你要运行的程序以前台进程的形式运行

4.2 容器日志


上面创建的守护式容器,因为没有前端进程运行,所以启动后就被干掉了,这时我们可以启动容器后运行个循环的脚本。如下

docker run -d centos /bin/sh -c “while true;do echo hello bobo;sleep 2;done”

在这里插入图片描述

| 日志参数 | 说明 |

| — | :-- |

| -t | 是加入时间戳 |

| -f | 跟随最新的日志打印 |

| --tail | 数字 显示最后多少条 |

![在这里插入图片描述](https://img-blog.csdnimg.cn/20191225201757537.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_

【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】

浏览器打开:qq.cn.hn/FTf 免费领取

10,text_aHR0cHM6Ly9kcGItYm9ib2thb3lhLXNtLmJsb2cuY3Nkbi5uZXQ=,size_16,color_FFFFFF,t_70)

4.3 容器内运行的进程


在这里插入图片描述

4.4 容器内部细节


以json数据的形式来查看容器的数据

docker inspect 容器ID

在这里插入图片描述

4.5 进入正在运行的容器


当我们以Ctrl+p+q的方式退出容器后,我们还需要再次进入到容器中,这时我们可以通过两种方式进入

| 进入方式 | 说明 |

| — | :-- |

| exec | 在容器中打开新的终端,并且可以启动新的进程 |

| attach | 直接进入容器启动命令的终端,不会启动新的进程 |

attach

在这里插入图片描述

exec

在这里插入图片描述

在容器外执行发送命令在容器内执行。

4.6 从容器内拷贝文件到主机


有时我们也需要从容器中拷贝内容到宿主机中。

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

5.总结

===================================================================

上面介绍的我们在实际开发中会碰到的常用命令,其他命令可以参考如下,或自行查阅

在这里插入图片描述

| 命令 | 说明 | 注释 |

| — | :-- | :-- |

| attach | Attach to a running container | 当前 shell 下 attach 连接指定运行镜像 |

| build | Build an image from a Dockerfile | 通过 Dockerfile 定制镜像 |

| commit | Create a new image from a container changes | 提交当前容器为新的镜像 |

| cp | Copy files/folders from the containers filesystem to the host path | 从容器中拷贝指定文件或者目录到宿主机中 |

| create | Create a new container | 创建一个新的容器,同 run,但不启动容器 |

| diff | Inspect changes on a container’s filesystem | 查看 docker 容器变化 |

| events | Get real time events from the server | 从 docker 服务获取容器实时事件 |

| exec | Run a command in an existing container | 在已存在的容器上运行命令 |

| export | Stream the contents of a container as a tar archive | 导出容器的内容流作为一个 tar 归档文件[对应 import ] |

| history | Show the history of an image | 展示一个镜像形成历史 |

| images | List images | 列出系统当前镜像 |

| import | Create a new filesystem image from the contents of a tarball | 从tar包中的内容创建一个新的文件系统映像[对应export] |

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker常用命令超细介绍,Java校招面试指南 的相关文章

随机推荐

  • STM32F10xNVIC探究与学习_2021-04-24

    NVIC探究与学习 嵌套向量中断控制器 NVIC NVIC 驱动有多种用途 例如使能或者失能 IRQ 中断 使能或者失能单独的 IRQ 通道 改变 IRQ 通道的优 先级等等 NVIC Enable 中断设置使能寄存器 Disable 中断
  • SQL Server 数据加密功能解析

    数据加密是数据库被破解 物理介质被盗 备份被窃取的最后一道防线 数据加密 一方面解决数据被窃取安全问题 另一方面有关法律要求强制加密数据 SQL Server的数据加密相较于其他数据库 功能相对完善 加密方法较多 通常来讲 数据加密分为对称
  • Redis的面试题

    1 为什么使用Redis做缓存 redis具有高性能和高并发的特点 redis为什么具有高性能 或者说redis为什么快 1 首先redis的数据存在内存中 所以比存储磁盘上的数据库快 2 其次redis本身使用了高效的数据结构 redis
  • win11WiFi驱动如何下载 windows11WiFi驱动下载的步骤方法

    Win11wifi驱动如何下载 现在很多用户都安装了最新的Win11系统 但是在使用的时候发现电脑原有的无线网卡驱动不匹配 需要安装win11wifi驱动 不知道win11wifi驱动下载安装方式 下面小编就教下大家win11无线网卡驱动下
  • Java中Callable接口(多线程实现的第三种办法)

    实现多线程程序的步骤 1 自定义类实现Callable接口 重写接口中的run方法 V call throws Exception 其余两种方法run 没有返回值 2 创建线程池对象 Executors 里面的那个方法 返回的是Execut
  • m1 使用anaconda安装tensorflow

    anaconda已经支持m芯片了 所以直接在官网下载 创建conda环境 conda create n tensorflow learn python 3 8 conda activate tensorflow learn 按照tensor
  • 十大新兴前端框架大盘点

    十大新兴前端框架大盘点 2019年在整体上 前端的主流框架没有太大的变化 业务代码仍由三大框架 React Vue Angular 所主宰着 打包工具一般仍使用webpack Rollup js 状态管理器还是Redux MobX 但随着这
  • 腾讯云视频上传问题总结

    使用腾讯云提供java sdk4 4 MultipartUploadVodFile使用此接口 分片上传 分片大小设置1024 1024 20会被腾讯服务器拒绝 无法上传 目前设置为1024 1024 5 最小分片设置为1024 512 域名
  • adaboost原理(包含权重详细解释)

    1 1 Adaboost是什么 AdaBoost 是英文 Adaptive Boosting 自适应增强 的缩写 由Yoav Freund和Robert Schapire在1995年提出 它的自适应在于 前一个基本分类器分错的样本会得到加强
  • 为什么说区块链的性能严重不足?

    现如今 性能过低是当前区块链技术面临的主要挑战之一 区块链的性能指标主要包括交易吞吐量和延时 交易吞吐量表示在固定时间能处理的交易数 延时表示对交易的响应和处理时间 在实际应用中 需要综合两个要素进行考察 只使用交易吞吐量而不考虑延时是不正
  • STM32CubeMX学习——旋转编码器模块

    前言 雨打灯难灭 风吹色更明 若飞天上去 定作月边星 李白 咏萤火 一 旋转编码器介绍 旋转编码器是一种可以左右旋转 同时也可以按下 也可以按下旋转的器件 通过左右旋转对应着内部不同开关的导通 同时按下也可以旋转 由此看来旋转编码器可以实现
  • 计算机msvcp120.dll丢失的解决方法

    计算机msvcp120 dll丢失的解决方法 相信困扰着不少小伙伴 msvcp120 dll系统文件是电脑重要的文件 丢失或者被损坏的话 很多软件跟游戏都会无法运行 需要怎么修复呢 小编今天就把教程分享给大家 修复教程如下 首先是打开电脑浏
  • el-dialog 对话框显示怎么往上调一调 或者往下调调显示

  • Python股票历史数据预处理(一)

    Python股票历史数据预处理 一 在进行量化投资交易编程时 我们需要股票历史数据作为分析依据 下面介绍如何通过Python获取股票历史数据并且将结果存为DataFrame格式 处理后的股票历史数据下载链接为 http download c
  • layui中form.val()使用,不起作用的原因

    在使用layui中 form表单数据的获取和渲染时绕不开的话题 在layui中form数据的渲染有个方法 form val 但是在使用的过程中很容易陷入误区 下面我就来为大家介绍如何解决form val 不显示的问题 let obj tit
  • error An unexpected error occurred: “https://registry.yarnpkg.com/axios: con 解决方案

    error An unexpected error occurred https registry yarnpkg com axios con 今天用在跑一个项目的时候发现了这个错误 看着像是网络连接不上 发现这里是用的Dokcerfile
  • 向ACCESS中的"时间/日期"字段中插入DateTime.Now时出现“标准表达式中数据类型不匹配。”错误的解决办法

    在使用下面的代码向Access数据库中添加数据的时候 如果是日期字段 则会出现 标准表达式中数据类型不匹配 的错误 这可能是C 中的日期类型无法直接转换成Access中的日期类型OleDbType DBDate所致 string Conne
  • Maximum Sum Subarray of Size K--滑动窗口题型

    滑动窗口题型 滑动窗口类型的题目经常是用来执行数组或是链表上某个区间 窗口 上的操作 比如找最长的全为1的子数组长度 滑动窗口一般从第一个元素开始 一直往右边一个一个元素挪动 当然了 根据题目要求 我们可能有固定窗口大小的情况 也有窗口的大
  • 电脑副业能做什么?一台电脑能做的副业

    现在很多人都想在工作之余开展一些副业 特别是今年经济形势不好 更让很多人明白了 有一份副业的重要性 这样可以在自己没有工作的时候还能有一份收入 那么有哪些副业可以在网络上做呢 如果你只有一台电脑的话 可以做哪些副业呢 1 自媒体 悟空问答或
  • Docker常用命令超细介绍,Java校招面试指南

    2 3 docker pull 前面我们介绍了 search命令可以从docker hub上搜索到相关的镜像 接下来看看我们通过docker pull 来下载镜像 docker pull 镜像名称 TAG 通过镜像加速下载还是比较快的 2