Docker笔记(个人向) 简述,最新高频Linux运维面试题目分享

简介: Docker笔记(个人向) 简述,最新高频Linux运维面试题目分享
2. 基本原理和概念
  • Docker主要用到镜像容器仓库这几种元素。
  1. 镜像是一个只读的模板,它可以用来创建容器
  2. 容器Docker运行实例,它提供了一个独立可移植的环境,我们可以在这个环境中运行应用程序。

镜像和容器的关系就像是JavaC++中的类和实例的关系一样。

  1. 仓库是用来存储Docker镜像的地方。最流行和最常用的仓库就是Dockerhub。它是一个公共的Docker仓库,用来集中存储和管理Docker镜像,类似于存放项目和文件的Github。我们可以在这里下载和上传自己或他人的镜像文件。
  • Docker使用Client-Sever架构模式,Docker ClientDocker Daemon之间通过Socket或者RESTful API进行通信。
  • Docker Daemon就是服务端的守护进程,它负责管理Docker的各种资源。
  • Docker Client负责向Docker Daemon发送请求,后者接收到请求之后进行处理,将结果发还给Docket Client。此时,Docker Daemon作为一个后台进程,用来接收并处理来自于Docker客户端的请求,将结果返回给客户端,然后就可以在终端中看到执行结果了。
3. Docker的安装配置
  1. Docker官网下载安装包然后双击安装即可
  2. 安装完毕之后记得启动Docker,否则之后的操作将无法进行
  3. Windows要启动Docker,需要先打开设置Settings,搜索Hyper找到启用或关闭Windows功能点击,勾选Hyper-V之后按照提示重启电脑就可以打开Hyper-V功能。这个功能是Docker运行的前提。
  4. Docker启动之后,会在状态栏(右下角)看到一个小鲸鱼的图标,这是Docker的图标,显示已经启动了。
  5. 启动之后,可以在终端或者shell中使用Docker的各种命令了
4. Docker常见命令
  • docker version:查看Docker的版本信息

一般情况下能同时看到ClientServer。如果你只看到Client说明你的Docker没有启动,只有启动后才能看到。

  • docker info: 查看docker系统信息
  • docker [command] --help: 查看Docker帮助文档
  • docker login\logout: 登录\退出DockerHub
5. 容器化
  • containerization,顾名思义就是将应用程序打包成容器,然后在容器中运行应用程序的过程。
  • 对应用程序的容器化分为以下步骤:
  1. 创建一个Dockerfile,来告诉Docker构建应用程序镜像。
  2. 使用Dockerfile构建镜像
  3. 使用镜像创建和运行容器

Dockerfile是一类文本文件,里面包含了一条条的指令。指令用来Docker如何来构建镜像。这个镜像中包含我们应用程序的所有命令(各种依赖、配置环境、运行应用程序所需要的内容).一般来说,我们会在项目的根目录下创建叫Dockerfile文件,用于在这个文件中写入所需要的各种指令。

  • 如何编写Docker
  1. 新建文件夹,命名与Docker相关
  2. 编辑器打开文件夹,创建index.js的文件,在文件中输入console.log("文本内容"),可以在终端中输入node index.js打开

NodeJS是一个运行时环境,它可以让我们在浏览器之外的地方运行Javascript的代码

  1. 创建Dockerfile(无拓展名),把运行步骤(程序)写入到Dockerfile中:
  1. 先指定一个基础镜像,例如先指定一个操作系统镜像,如FROM node:14-alpine,其中14是版本号,alpineLinux轻量级发行版的名称。毕竟镜像是按层次结构来构建的
  2. 将应用程序复制或导入文件中,可以用COPY source dest的格式完成复制。其中的source是应用程序名,在根目录中相对于Dockerfile的地址
  3. CMD["可执行程序的名字","可执行程序接收到的应用程序"] 或者 CMD 可执行程序名 应用程序地址
  4. 接着我们可以用docker image ls查看根目录中的镜像信息
  • docker run 应用程序名的方法测试运行镜像文件


相关文章
|
2月前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
149 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
20天前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
2月前
|
运维 监控 网络协议
|
28天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
50 3
|
2月前
|
存储 运维 搜索推荐
|
2月前
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
1448 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
2月前
|
缓存 运维 Docker
容器化运维:Docker Desktop 占用磁盘空间过大?教你轻松解决!
Windows Docker Desktop 使用过程中,因镜像、容器数据及构建缓存的累积,可能导致磁盘空间占用过高。通过删除无用镜像与容器、压缩磁盘以及清理构建缓存等方法,可有效释放空间。具体步骤包括关闭WSL、使用`diskpart`工具压缩虚拟磁盘、执行`docker buildx prune -f`清理缓存等。这些操作能显著减少磁盘占用,提升系统性能。
461 4
|
3月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
464 37
|
2月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
106 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
2月前
|
运维 jenkins 持续交付
自动化部署的魅力:如何用Jenkins和Docker简化运维工作
【10月更文挑战第7天】在现代软件开发周期中,快速且高效的部署是至关重要的。本文将引导你理解如何使用Jenkins和Docker实现自动化部署,从而简化运维流程。我们将从基础概念开始,逐步深入到实战操作,让你轻松掌握这一强大的工具组合。通过这篇文章,你将学会如何利用这些工具来提升你的工作效率,并减少人为错误的可能性。