当前位置: 首页 > news >正文

Docker常见面试题整理

文章目录

  • 1. Docker 是什么?它解决了什么问题?
  • 2. Docker 和虚拟机(VM)的区别是什么?
  • 3、Docker三个核心概念
  • 4、如何构建一个 Docker 镜像?
  • 5、如何将一个 Docker 容器连接到多个网络?
  • 6、Docker Compose 是什么?
  • 7、如何实现 Docker 容器的持久化存储?
  • 8、如何查看 Docker 容器的日志?

Win7 Docker环境搭建查看:Win7 Docker环境搭建
MacOS使用docker安装nginx查看:MacOS使用docker安装nginx

1. Docker 是什么?它解决了什么问题?

Docker 是一种容器化平台,允许开发者打包应用程序及其依赖项到一个可移植的容器中,然后发布到任何支持 Docker 的环境中运行。
Docker 解决了传统虚拟化环境中应用部署和运行时的依赖、配置、环境一致性等问题,提供了更轻量、更快速的应用部署和扩展方案。

2. Docker 和虚拟机(VM)的区别是什么?

Docker 使用容器技术,而虚拟机使用完整的操作系统虚拟化。
Docker 容器共享主机操作系统的内核,因此更加轻量和快速,启动时间通常在秒级别。
虚拟机则需要独立的操作系统实例,占用更多资源和启动时间较长。

3、Docker三个核心概念

Docker的镜像容器仓库是Docker技术中的三个核心概念:

  • 镜像(mnage) :镜像是一个只读的模板,它包含了运行应用程序所需的环境和文件。例如,一个镜像可以包含一个完整的Ubuntu操作系统环境,里面仅安装了Apache或用户需要的其它应用程序。镜像可以用来创建Docker容器。
  • 容器 (Container) :容器是从镜像创建的运行实例。它可以被启动、停止、删除,每个容器都是相互隔离的、保证安全的平台,可以看作是一个简易版的Linux环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
  • 仓库 (Repository) :仓库是存放所有的镜像文件的场所。Docker Hub是一个公共仓库,供用户下载和存储镜像。用户也可以在本地网络内创建一个私有仓库。

4、如何构建一个 Docker 镜像?

创建一个 Dockerfile,定义镜像的内容和环境。
使用 Docker CLI 中的 docker build 命令来构建镜像,例如:docker build -t myapp:1.0
Dockerfile 中包括指令如 FROM(基础镜像)、RUN(运行命令)、COPY(复制文件)、CMD(容器启动命令)等。

5、如何将一个 Docker 容器连接到多个网络?

可以使用 Docker 网络命令(docker network connect)将容器连接到多个自定义网络。
默认情况下,Docker 容器连接到默认的桥接网络(bridge network),但也可以创建自定义网络,并将容器连接到这些网络。

6、Docker Compose 是什么?

Docker Compose是一个用于定义和运行多个Docker容器的工具。它使用YAML文件来配置应用程序的服务,并允许通过一个命令来启动、停止和重启应用中的所有服务。

Docker Compose的主要作用是简化容器的管理和部署。它使得多个容器能够以正确的顺序和依赖关系启动,并确保它们在运行时可以相互通信。这使得开发人员可以更容易地处理复杂的Docker环境,尤其是在需要多个容器协同工作的场景下。

使用Docker Compose的场景包括但不限于以下情况:

  • 需要构建和运行多个容器的应用程序,例如Web应用、数据库和缓存等
  • 需要在不同环境(如开发、测试、生产》中部署相同应用程序,但需要配置
  • 不同的容器数量或镜像版本。需要快速启动和停止应用程序,例如在开发或测试过程中。

总之,Docker Compose是一个强大的工具,可以帮助开发人员和管理员更好地管理和部署Docker容器化的应用程序

7、如何实现 Docker 容器的持久化存储?

Docker 数据卷:是用于持久化存储容器中数据的目录或文件。
它允许容器之间或容器与主机之间共享数据,以及在容器重启时保持数据的持久性。

使用 Docker 数据卷(Volumes)或者绑定挂载(Bind Mounts)来实现容器中数据的持久化存储。数据卷是 Docker 管理的一部分,而绑定挂载直接将主机文件系统的路径挂载到容器中。

8、如何查看 Docker 容器的日志?

使用 docker logs 命令来查看指定容器的日志,例如:docker logs mycontainer
可以通过 -f 参数实时跟踪日志输出,类似于 tail -f 的功能。

相关文章:

Docker常见面试题整理

文章目录 1. Docker 是什么?它解决了什么问题?2. Docker 和虚拟机(VM)的区别是什么?3、Docker三个核心概念4、如何构建一个 Docker 镜像?5、如何将一个 Docker 容器连接到多个网络?6、Docker Co…...

35 - 最后一个能进入巴士的人(高频 SQL 50 题基础版)

35 - 最后一个能进入巴士的人 -- sum(weight) over(order by turn) as total,根据turn升序&#xff0c;再求前面数的和 selectperson_name from(selectperson_name,sum(weight) over(order by turn) as totalfromQueue) new_Queue wheretotal<1000 order by total desc lim…...

WPF将dll文件嵌入到exe文件中

WPF将dll文件嵌入到exe文件中 第一步&#xff1a;打开.csproj文件&#xff0c;在Import节点后添加如下代码&#xff1a; <Target Name"AfterResolveReferences"><ItemGroup><EmbeddedResource Include"(ReferenceCopyLocalPaths)" Condit…...

2024年AI+游戏赛道的公司和工具归类总结

随着人工智能技术的飞速发展,AI在游戏开发领域的应用越来越广泛。以下是对2024年AI+游戏赛道的公司和工具的归类总结,涵盖了从角色和场景设计到音频制作,再到动作捕捉和动画生成等多个方面。 2D与3D创作 2D创作工具:专注于角色和场景的平面设计,提供AI辅助的图案生成和风…...

svm和决策树基本知识以及模型评价以及模型保存

svm和决策树基本知识以及模型评价以及模型保存 文章目录 一、SVM1.1&#xff0c;常用属性函数 二、决策树2.1&#xff0c;常用属性函数2.2&#xff0c;决策树可视化2.3&#xff0c;决策树解释 3&#xff0c;模型评价3.1&#xff0c;方面一&#xff08;评价指标&#xff09;3.2&…...

C++ 79 之 自己写异常类

#include <iostream> #include <string> using namespace std;class MyOutOfRange : public exception{ // 选中exception右键 转到定义 复制一份 virtual const char* what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_NOTHROW 进行函数重写 public: string m_msg;M…...

如何搭建一个成功的短剧制作平台

要搭建一个成功的短剧制作平台&#xff0c;需要考虑多个方面&#xff0c;包括目标定位、技术选择、内容管理、用户体验等。 1、明确目标和定位&#xff1a; 确定你的目标受众是谁&#xff0c;他们的年龄、兴趣、消费习惯等。 明确短剧制作平台的主要定位&#xff0c;是提供原创…...

kotlin类

一、定义 1、kotlin中使用关键字class 声明类,如果一个类没有类体&#xff0c;也可以省略花括号&#xff0c; 默认为public 类型的&#xff1a; // 这段代码定义了一个公开的、不可被继承的Test类 class Test{} // 没有类体&#xff0c;可以省略花括号 class Test 底层代码&…...

android | studio的UI布局和代码调试 | UI调试 (用于找到项目源码)

网上找到一个项目&#xff0c;想快速的搞懂是怎么实现的&#xff0c;搞了半天发现原来android都升级到Jetpack Compose了&#xff0c;然后去找源码挺不容易的&#xff0c;摸索中发现了这个调试的方法&#xff0c;还可以。 https://developer.android.com/studio/debug/layout-i…...

LangChain实战技巧之六:一起玩转config(上篇)——ConfigurableField

简介 Config 包含两大类内容&#xff0c; ConfigurableField 可配置的字段 configurable_alternatives 可配置的替代方案 分别使用两篇文章来给大家介绍&#xff0c;本篇先介绍ConfigurableField 常规介绍 一些资料会这样介绍 model_spec model.configurable_fields(model…...

扫码称重上位机

目录 一 设计原型 二 后台代码 一 设计原型 模拟工具: 二 后台代码 主程序&#xff1a; using System.IO.Ports; using System.Net; using System.Net.Sockets; using System.Text;namespace 扫码称重上位机 {public partial class Form1 : Form{public Form1(){Initialize…...

操作系统入门 -- 进程的通信方式

操作系统入门 – 进程的通信方式 1.什么是进程通信 1.1 定义 进程通信就是在不同进程之间交换信息。在之前文章中可以了解到&#xff0c;进程之间相互独立&#xff0c;一般不可能互相访问。因此进程之间若需要通信&#xff0c;则需要一个所有进程都认可的共享空间&#xff0…...

Python读取wps中的DISPIMG图片格式

需求&#xff1a; 读出excel的图片内容&#xff0c;这放在微软三件套是很容易的&#xff0c;但是由于wps的固有格式&#xff0c;会出现奇怪的问题&#xff0c;只能读出&#xff1a;类似于 DISPIMG(“ID_2B83F9717AE1XXXX920xxxx644C80DB1”,1) 【该DISPIMG函数只有wps才拥有】 …...

elasticsearch的入门与实践

Elasticsearch是一个基于Lucene构建的开源搜索引擎。它提供了一个分布式、多租户能力的全文搜索引擎&#xff0c;具有HTTP web接口和无模式的JSON文档。以下是Elasticsearch的入门与实践的基本步骤&#xff1a; 入门 安装Elasticsearch&#xff1a; 从Elasticsearch官网下载对…...

神经网络学习6-线性层

归一化用的较少 正则化用来解决过拟合&#xff0c;处理最优化问题&#xff0c;批量归一化加快速度 正则化&#xff08;Regularization&#xff09;&#xff1a; 作用&#xff1a;正则化是一种用来防止过拟合的技术&#xff0c;通过向模型的损失函数中添加惩罚项&#xff0c;使…...

PHP框架详解 - CodeIgniter 框架

CodeIgniter 是一个成熟的轻量级 PHP 框架&#xff0c;专为小到中型的 Web 应用开发设计。它以其简洁、灵活和易于学习的特点而受到开发者的喜爱。 CodeIgniter 框架的特点包括&#xff1a; 轻量级&#xff1a;CodeIgniter 的核心非常小&#xff0c;加载速度快&#xff0c;适…...

奔驰EQS SUV升级原厂主动式氛围灯效果展示

以下是一篇关于奔驰 EQs 升级原厂主动氛围灯案例的宣传文案&#xff1a; 在汽车科技不断演进的今天&#xff0c;我们自豪地为您呈现奔驰 EQs 升级原厂主动氛围灯的精彩案例。 奔驰 EQs&#xff0c;作为豪华电动汽车的典范&#xff0c;其卓越品质与高端性能有目共睹。而此次升…...

echarts Y轴展示时间片段,series data数据 也是时间片段,鼠标放上去 提示框显示对应的时间片段

功能要求 1、折线图&#xff0c;展示每天对应的一个时间片段 2、echarts Y轴展示时间片段&#xff0c;如&#xff1a;[00:00,03:00,05:15] 3、X轴展示日期&#xff0c;如&#xff1a;[xx年xx月xx日] 后端返回的数据结构&#xff0c;如 [{xAdate:"2024-06-15",data:…...

20. mediasoup服务器的布署与使用

Mediasoup Demo部署 架构服务分析 服务端提供3个服务&#xff1a; 1.www服务&#xff0c;浏览器通过访问服务器目录获取客户端代码&#xff0c;通过V8引擎&#xff0c;启动底层WebRTC 2.nodejs提供websocket服务和http服务&#xff0c;用于信令交互 3.Mediasoup C提供的流媒体…...

【leetcode--同构字符串】

要求&#xff1a;判断两个字符串的形式是不是一致&#xff0c;即是不是AABC或者ABBBCC这种。 trick&#xff1a;使用set&#xff08;&#xff09;结合zip&#xff08;&#xff09;。 set&#xff08;&#xff09;用法&#xff1a;用于创建一个不包含重复元素的集合 zip&#…...

shell expr功能详解

expr命令可以实现数值运算、数值或字符串比较、字符串匹配、字符串提取、字符串长度计算等功能。它还具个特殊功能&#xff0c;判断变量或参数是否为整数、是否为空、是否为0等。 1.字符串表达式 ------------------------- expr支持模式匹配和字符串操作。字符串表达式的优先…...

java继承Thead类和实现Runnable接口创建线程的区别

一、继承Thread类创建多线程 public class Demo{public static void main(String[] args) {MyThread thread new MyThread();thread.start();}} class MyThread extends Thread{Overridepublic void run() {//子线程执行的操作} }注意&#xff1a;开启子线程要调用start()方法…...

interface Ref<T = any> 这是什么写法?为什么写接口还需要加上<T = any>

问: export interface Ref<T any> { value: T [RefSymbol]: true } 这里既然是interface接口,为什么还有<T any>这是什么意思? 回答: <T any> 中的 <T> 表示这是一个泛型参数&#xff0c;它可以在接口中作为类型的占位符&#xff0c;在实际…...

深入探索 MongoDB GridFS:高效大文件存储与管理的全面指南

GridFS 是 MongoDB 的一个规范&#xff0c;用于存储和检索超过 BSON 文档大小限制&#xff08;16MB&#xff09;的文件。与传统的文件系统不同&#xff0c;GridFS 可以将一个大文件分割成多个小块&#xff0c;并存储在 MongoDB 的两个集合中&#xff1a;fs.files 和 fs.chunks。…...

基于CentOS Stream 9平台 安装/卸载 Redis7.0.15

已更正systemctl管理Redis服务问题 1. 官方下载地址 https://redis.io/downloads/#redis-downloads 1.1 下载或上传到/opt/coisini目录下&#xff1a; mkdir /opt/coisini cd /opt/coisini wget https://download.redis.io/releases/redis-7.0.15.tar.gz2. 解压 tar -zxvf re…...

激励-保健理论和公平理论

激励-保健理论 herzberg的激励-保健理论中&#xff0c;保健因素是context of a job&#xff0c;激励因素是content of a job。 context of a job是受组织控制的因素&#xff0c;比如工作条件&#xff0c;基本工资&#xff0c;公司政策等&#xff0c;个人无法支配。content of…...

深入探索 Spring Boot 自定义启动画面

目录 引言什么是 Spring Boot 启动画面Spring Boot 默认启动画面为什么要自定义启动画面如何自定义 Spring Boot 启动画面 修改配置文件使用 Banner 接口通过图片实现启动画面ASCII 艺术画的应用 进阶&#xff1a;基于环境变量的动态 Banner多模块项目中的启动画面Spring Boot…...

Redis实战—Redis分布式锁

本博客为个人学习笔记&#xff0c;学习网站与详细见&#xff1a;黑马程序员Redis入门到实战 P56 - P63 目录 分布式锁介绍 基于Redis的分布式锁 Redis锁代码实现 修改业务代码 分布式锁误删问题 分布式锁原子性问题 Lua脚本 编写脚本 代码优化 总结 分布式锁介绍…...

联想Y7000P 2023款拆机教程及升级内存教程

0.电脑参数介绍 联想Y7000P 2023电脑&#xff0c;笔者电脑CPU为i7-13700H&#xff0c;14核20线程&#xff1b;标配内存为三星的DDR5-5600MHz-8GB*2&#xff0c;由于电脑CPU限制&#xff0c;实际内存跑的频率为5200MHz; 2个内存插槽&#xff0c;2个固态硬盘插槽。每个内存插槽最…...

开发常用依赖

目录 代理对象 Swagger Web 单元测试 MybatisPlus Lombok Mysql SpringBoot Jdk SpringCloud 数据库驱动包 hutool工具 配置仓库 通用库 maven插件 nacos注册中心 OpenFeign Spring AMQP JSON转换器 Redis 邮箱验证 Redisson分布式锁 客户端 代理对象 &l…...

宝贝我想跟你做网站/数字营销是干啥的

unti,当判断条件不成立时进入循环&#xff0c;一旦判断条件成立终止循环。 until 语法 until CONDITION; do 循环体 doneuntil 循环的执行流程为&#xff1a; 先对 condition 进行判断&#xff0c;如果该条件不成立&#xff0c;就进入循环&#xff0c;执行 until 循环体中的…...

wordpress 删除的模板文件在哪/武汉网站制作推广

参考文章 SSRF-Vulnerable-Labtag&#xff1a; #SSRFRef&#xff1a; 1、file_get_content.php 提取并显示指定文件内容的应用程序代码 在编程语言中&#xff0c;有一些函数可以获取本地保存文件的内容。这些功能可能能够从远程URL以及本地文件&#xff08;例如PHP中的file_g…...

医程通 网站做的太/天津百度快速排名优化

tcpdump是一个用于截取网络分组&#xff0c;并输出分组内容的工具。 tcpdump凭借强大的功能和灵活的截取策略&#xff0c;使其成为类UNIX系统下用于网络分析和问题排查的首选工具。tcpdump提供了源代码&#xff0c;公开了接口&#xff0c;因此具备很强的可扩展性&#xff0c;对…...

可以做空股票的网站/百度有钱花人工客服

有点散乱, 将就着看吧. 首先是博弈论的基础, 即 N 和 P 两种状态: N 为必胜状态, P 为必败状态. 对于N, P两种状态, 则有 1. 没有任何合法操作的状态, P; 2. 可以移动到P局面的情况为N状态; 3. 可以移动到的所有状态均为N状态, 则当前情况为P状态. 然后就可以引入SG函数了…...

武汉网站提升排名/百度竞价推广开户内容

Java的占位符有两种&#xff1a;% 和 {} String 类对象 只能使用 % 有效。 MessageFormat 类对象 只能使用 {} 有效。 package demo;import java.text.MessageFormat;public class doTest {public static void main(String[] args) throws Exception {System.out.println(Strin…...

私有云网站建设/海外推广运营

随着计算机技术的不断发展,由最初的电子管、晶体管到入境的超大规模集成电路&#xff0c;例如数据库管理系统软件&#xff0c;其开发和管理对于现实生活中具有重要的意义。下面是学习啦小编给大家推荐的有关数据库管理系统的计算机论文&#xff0c;希望大家喜欢!有关数据库管理…...