【Docker】linux、nginx、容器镜像三者基本概念

在这里插入图片描述

前言

由于在工作中接触到的都是windows操作系统,服务器也是,所以对于linux系统就比较陌生。
对于windows操作系统,web服务器一般都是使用IIS。那对于linux系统,web服务器一般使用的是nginx。
不同操作系统,web服务器自然不一样,但是目的都是一样的,都是为了渲染和呈现网站内容。
因此,基本概念还是要了解一下。

Linux

基本信息

Linux是一个开源的操作系统内核。
它是根据GNU通用公共许可证发布的,所以通常被称为GNU/Linux。
Linux操作系统被广泛用于各种设备和平台,包括个人电脑、服务器、移动设备和嵌入式系统。
Linux以其稳定性、灵活性和安全性而闻名,并且具有广泛的用户和开发者社区。

发行版

有许多基于 Linux 内核开发的发行版

Debian

Debian 是一个免费的开源操作系统,以稳定性和安全性而闻名。
它提供了强大的软件包管理器(APT),并拥有广泛的软件仓库。

Ubuntu

Ubuntu 是基于 Debian 的免费开源操作系统,注重用户友好性和易用性。
它提供了大量的预装软件,并有不同的版本,如 Ubuntu Desktop、Ubuntu Server 和 Ubuntu Core。

Fedora

Fedora 是由 Red Hat 公司赞助的社区驱动的操作系统,它专注于最新的开源技术和创新。
它提供了一个稳定的基础和新鲜的软件,适用于桌面、服务器和嵌入式设备。

CentOS

CentOS(Community Enterprise Operating System)是基于 Red Hat Enterprise Linux(RHEL)的开源克隆。
它提供了与 RHEL 相同的软件包和兼容性,针对企业环境而设计。

openSUSE

openSUSE 是由 SUSE 公司开发的社区驱动的操作系统。
它提供了两个版本:Leap(稳定版本)和 Tumbleweed(滚动版本),适用于桌面、服务器和云环境。

Arch Linux

Arch Linux 是一个轻量级、灵活且面向技术用户的发行版。
它采用滚动发布模型,允许用户定制他们的系统,并提供了一个强大的软件包管理器(Pacman)。

Nginx

基本信息

Nginx是一款高性能的、开源的Web服务器软件。
它也可以用作反向代理服务器、负载均衡器和HTTP缓存等功能。
Nginx以其卓越的性能和高度可扩展性而受到广泛关注和采用。
它能够处理大量并发连接,并具有处理静态资源的能力,用于处理HTTP请求,以及专注于提供高性能的Web服务。

Docker Image

Docker镜像是用于创建Docker容器的可执行文件。
镜像是一个模板,其中包含操作系统、应用程序和所有依赖项。
当启动一个Docker容器时,实际上是在基于镜像创建一个运行实例。
关于Docker Nginx镜像,它是特定的镜像,包含了Nginx Web服务器的代码、配置和相关依赖项。
这样,可以使用该镜像快速地创建Nginx容器并运行Nginx服务。
Docker镜像以层级结构进行组织,每一层都代表一个更改或添加的文件系统。
这使得镜像非常轻量且可共享,因为不同的镜像可以共享相同的基础层。

  • cmd查看镜像列表
docker image ls
docker image ls nginx

在这里插入图片描述

  • Image(镜像nginx)
    在这里插入图片描述
  • 操作系统文件
    在这里插入图片描述

相关文章

  • 如何进行 Nginx HTTPS服务器搭建

    通过本文的介绍,我们详细了解了Nginx的listen指令,它用于配置服务器监听的端口和IP地址。我们学习了基本的语法结构、常见的示例和一些可选的参数。这些知识将帮助您更好地配置Nginx服务器,以满足您的需求。

  • 如何在 Nginx 中进行速率限制?

    http {server {# 其他配置...在这个例子中,当请求超过速率限制时,通过error_page指令将 503 错误映射到页面。这使得可以为用户提供更友好的自定义页面,以解释为什么请求被拒绝。在本文中,我们详细介绍了在 Nginx 中进行速率限制的方法。我们从基础开始,讨论了模块的使用以及指令的配置。随后,我们深入探讨了不同的速率限制策略,包括按 IP 进行限制、限制特定 URI 或请求类型,以及设定速率限制的阈值。在高级策略方面,我们讨论了如何使用。

  • 如何在 Linux 中安装 Fish Shell(带 Starship)?

    Fish Shell是一款现代的、用户友好的命令行 Shell,设计初衷是提供更好的用户体验和强大的功能。它采用友好的语法和强大的自动补全功能,使得命令行操作更加轻松愉快。Starship是一款轻量级的、快速的命令行提示符,它为Shell提供了一个漂亮、高度可定制的提示符。Starship的设计理念是简洁、高效,同时允许用户自由定制外观和显示的信息。Fish Shell允许你创建自定义提示符,包括颜色、图标、以及显示的信息。修改# 自定义提示符end。

  • 如何在 Ubuntu 22.04 上安装 Consul 服务器?

    通过这篇文章,你已经学会了在 Ubuntu 22.04 上安装 Consul 服务器的详细步骤,包括配置集群、服务发现、健康检查、安全性特性等方面。同时,你还了解了如何维护 Consul 和进行故障排除,以及一些进阶主题。Consul 是一个功能强大的工具,适用于构建可靠的微服务架构,希望这篇文章对你有帮助。

  • 【Linux】信号保存与信号捕捉处理

    介绍信号的保存,理解信号在操作系统中的保存方式,理解系统中信号捕捉的处理过程以及介绍信号的其它知识!

  • 在 Kubernetes 中查找 Pod IP 地址的 2 种方法

    如果只是需要快速查找某个Pod的IP地址或者进行简单的调试,使用kubectl命令可能更为方便。如果需要集成到自动化脚本、程序或工作流中,或者需要进行更复杂的查询和过滤操作,使用Kubernetes API是更好的选择。综合考虑使用场景和需求,可以根据具体情况选择合适的方法。通过本文我们详细介绍了在Kubernetes中查找Pod IP地址的两种方法:一种是通过kubectl命令,另一种是通过Kubernetes API查询。每种方法都有其优点和缺点,适用于不同的使用场景。

  • Makefile 和 Bash 脚本之间区别和联系

    在 Makefile 中可以调 Bash 脚本,或在 Makefile 中直接写入 Bash 命令。这使得在构建过程中执行更复杂的任务成为可能。Makefile和Bash脚本由于它们的设计目标和用途不同,它们在基本结构、命令执行、通配符使用、错误处理等方面存在显著的差异。了解这些差异对于正确编写和理解Makefile和Bash脚本至关重要。Makefile主要用于编译和构建软件项目,而Bash脚本则更广泛地应用于系统管理和自动化任务。在实际工作中,两者可以结合使用,以创建一个完整、自动化的构建和部署。

  • DockerUI如何部署结合内网穿透实现公网环境管理本地docker容器

    DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基于容器安装方式,部署方便高效,浏览和维护docker单节点或集群节点worker和manager。DockerUI具有易于使用的界面。它不需要记住 docker 指令。只需下载镜像即可立即加入并完成部署。使用DockerUI并结合cpolar内网穿透可以更加轻松的管理docker和swarm,实现后台公网访问并管理,视觉性更加直观,后台开发更加便利。

  • 【Linux】linux自动化构建工具make/makefile

    是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。当对文件的内容做修改时,该文件的Modify和Change的时间都会被修改,所以当改变文件的属性时,修改时间发生了变化,再次make时,会比源文件的最近修改时间新。这里的mytest-d表示的是目标文件,test.c表示的是要编译的源文件,第二行则是编译指令。是一个命令,用来执行makefile里面编写的编译命令。

  • 如何在 Linux 命令行中检查 CPU 使用率

    使用top来实时查看系统资源的使用情况,特别是 CPU 和内存的使用率。使用sar定期收集系统性能数据,以便后续分析历史性能趋势。使用mpstat来监控多核 CPU 的使用率,了解每个核心的性能状况。使用perf进行更深入的性能分析,包括函数调用图、指令和缓存的分析等。使用strace跟踪系统调用,解决程序执行中的异常情况。使用topvmstat和sar进行实时和历史性能监控,以便了解系统整体的健康状况。使用mpstatperf和strace进行更深入的 CPU 使用率分析,找出潜在的性能瓶颈。

  • git提交代码到远端仓库的方法详解

    自己学习到的git关联远端仓库的方法,希望可以帮到大家。

  • 文件传输协议:FTP、TFTP、SFTP和SCP

    你好,这里是网络技术联盟站。文件传输协议在计算机网络中扮演着关键的角色,为用户提供了在网络上共享和传输文件的标准化方式。本文将深入介绍四种常见的文件传输协议:FTP、TFTP、SFTP和SCP,探讨它们的工作原理、特点以及在不同场景下的应用。

  • 2024年了,Fedora和Ubuntu,哪个更适合工程师使用?

    在Fedora与Ubuntu的比较中,我们深入探讨了它们在安装和配置、桌面环境、软件包管理、系统更新与稳定性、社区支持、性能、安全性、容器化支持、桌面用户体验、开发者工具、虚拟化支持、硬件兼容性、多版本支持、跨平台支持等方面的差异。最终,选择Fedora还是Ubuntu取决于您的个人需求和偏好。如果您是一个追求最新技术和功能的开发者,喜欢滚动更新的模式,那么Fedora可能更适合您。如果您更注重系统的稳定性,希望在长期内获得支持,并且对桌面和服务器环境都有需求,那么Ubuntu可能更符合您的期望。

  • 如何强制Linux用户在下次登录时更改密码?

    在Linux系统中,用户账户的密码信息存储在和文件中。其中,文件包含用户的基本信息,而文件包含用户的加密密码以及与密码相关的设置。PAM模块允许管理员定义在用户登录、更改密码等操作时执行的任务。在密码管理方面,我们关注的是模块。本文介绍了如何强制Linux用户在下次登录时更改密码,并详细讨论了密码管理的各个方面。通过配置密码过期策略、使用PAM模块增加密码复杂性要求、设置强制密码更改通知、批量更改用户密码以及自动化密码更改过程,管理员可以提高系统的安全性,降低密码被滥用的风险。

  • 一文带你全方位了解 Shell 脚本,给力!

    使用等号(=)给变量赋值,并通过美元符号($)引用变量的值。# 变量的定义和使用通过本文的学习,您已经了解了如何为 Linux 命令创建脚本的基础知识和高级技巧。Shell 脚本是一种强大的工具,通过结合 Linux 命令和脚本编程,您可以实现自动化任务、系统管理以及日志分析等各种功能。深入学习和实践将使您成为一个熟练的脚本程序员,能够更高效地处理各种任务。