一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

admin 2023年6月19日11:33:16评论43 views字数 2700阅读9分0秒阅读模式

小编在屡次经历长安杯被Docker卡住后苦思不得其解,决定带着好奇的心理来好好考察一下它。在经过赛后复盘后,发现Docker并不复杂,但对没有接触过的同学来说一定很陌生,下面一起来看看Docker是什么吧。

0x01认识Docker

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

在程序员的世界,很少有这么可爱的logo了。

究竟什么是Docker?

Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。用户开发者们可以通过使用Docker将自己的应用和依赖包打包到轻量级、可移植的容器当中去,发布在Linux机器上也可以实现虚拟化。另外,Docker容器提供了良好的隔离性。每个容器都是相互隔离的,具有自己独立的文件系统、进程空间和网络接口。这种隔离性确保了应用程序在容器中的安全运行,不会受到其他容器或主机系统的影响。

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

要想真正入手Docker,咱们得先有一个自己的账号!这样才能使用Docker Hub!

官网:https://hub.docker.com/

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

我们已经有了一台安装Docker环境的Ubuntu虚拟环境,我们用命令行来执行一下。

首先查看Docker版本,使用命令docker -v

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

登陆一下Docker Hub

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

我们在这里也是成功登录了。

--什么?Docker Hub是什么?--那下面就得好好说一下仓库的概念了。

0x02认识仓库

公有仓库

Docker Hub是官方提供的一个公共镜像仓库,它允许了用户分享、存储和下载Docker镜像。作为中央仓库,它提供了数量超过2,650,000的镜像,包括常见的操作系统、编程语言环境、数据库、Web服务器等。退出Docker Hub登录,我们使用docker logout

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

当然,除了Docker Hub之外,还有一些其他第三方公有仓库,你也可以把自己搭建的私有仓库公开,成为公有仓库。

--都说到这里了,那就来瞅瞅什么是私有仓库吧。

私有仓库

私有仓库是一种用于存储和管理Docker镜像的私有存储库。与公有仓库(Docker Hub)不同,私有仓库是为特定组织或个人而设,用于在内部环境中共享、发布和部署镜像。小编在这里的理解就是就好比有两个FTP服务器,提供基本的下载功能,一个是架设在公网ip上面的,面向所有群众;另一个是架设在内网环境当中,仅供个人或组织内下载。

私有仓库提供了对镜像的安全性、可访问性和可控性的更高要求。它们通常用于以下情况:

1、企业内部开发和部署:组织内的开发团队可以使用私有仓库来存储和共享自己的应用程序镜像。这样,团队成员可以轻松地在内部环境中共享和部署镜像,而无需依赖公共仓库或将镜像上传到外部环境。

2、安全和合规要求:某些组织可能需要遵循特定的安全和合规性标准。私有仓库允许对镜像进行访问控制和身份验证,确保只有授权用户可以访问和使用镜像。这对于保护敏感数据和遵守规定非常重要。

3、离线环境:私有仓库还适用于离线环境,如在没有互联网连接的内部网络或隔离的网络环境中。通过在私有仓库中存储所需的镜像,可以在这些环境中轻松部署和管理应用程序。

0x03 认识镜像并完成运行

查看本地主机上存在的Docker镜像我们使用docker image ls

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

--可以看到,空空如也,毕竟是刚搭好的环境,哪里有本地镜像。那我们先拉一个下来看看。

我们不妨拿ubuntu来搜搜看

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

可以看到,信息量很大,我们逐项来看。

NAME
镜像的名称,其中包含了关键词"ubuntu"。
DESCRIPTION
对镜像的简要描述,通常提供有关镜像用途或特性的信息。
STARS
镜像星级评分,表示镜像受到用户的欢迎程度。
OFFICIAL 像的星级评分,表示像受到用户的欢迎程度。
AUTOMATED 标志是否为自动构建的镜像,如果是,则镜像的构建过程经过自动化。

那我们拿一下老朋友nginx来试试手,pull一个下来。

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

在这里,我们查看到有一种类型,比如“kasmweb/nginx”,它是由 Docker Hub 的注册用户创建并维护的,往往带有用户名称前缀。可以通过前缀username/ 来指定使用某个用户提供的镜像。

开始pulldocker pull nginx

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

居然一直在Retry,下面我们来配置一下国内源。

添加阿里云作为国内源:

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

查看说明已添加。

我们再次尝试以运行:

换了国内代理,速度一下就上来了。

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

拉取镜像完成

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

啧啧啧,本地镜像已包含nginx

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

下面就是要让它跑起来了。操作一下~

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

可以看到它已经跑起来了,下面是相关信息:

容器ID(CONTAINER ID) f9018f4aee7c
镜像名称(IMAGE) nginx
命令(COMMAND) /docker-entrypoint.sh nginx -g 'daemon off;'
创建时间(CREATED) Up 8秒(表示容器正在运行并已经运行了8秒)
状态(STATUS) Up 8秒(表示容器正在运行并已经运行了8秒)
端口映射(PORTS) 0.0.0.0:80->80/tcp, :::80->80/tcp
容器名称(NAMES) jovial_bartik

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

也是顺利完成测试。在刚刚其实也引入了一定的容器的概念,我们也是继续分析容器的组成。

0x04 认识容器

Docker容器是Docker的核心概念之一,它是基于Docker镜像创建的可运行实例。容器提供了一个隔离的运行环境,可以在其中运行应用程序和服务。

其实我们可以将容器看作是一个独立的、可执行的运行环境。这个环境中包含了应用程序以及它所需的所有组件和依赖项。与传统的虚拟机相比,Docker容器更加轻量并可以快速启动,它有自己的文件系统、网络接口、进程空间和资源限制。通过Docker镜像,你可以创建一个容器的实例,就像根据一个模板创建一个具体的对象。每个容器都是相互隔离的,它们之间不会相互干扰。我们可以管理容器的生命周期,例如启动、停止、重启和删除容器。你还可以查看容器的日志、执行命令和访问容器内部的文件系统。这使得容器的管理和调试变得更加简单和高效。

Docker容器还可以与其他容器和主机进行通信,以构建复杂的应用程序架构。你可以创建多个容器并将它们连接在一起,以构建微服务架构或分布式系统。这种灵活性使得容器成为现代应用程序开发和部署的理想选择。

总而言之,Docker容器提供了一种轻量级、隔离、可移植和可管理的运行环境,使应用程序开发、交付和部署变得更加简单、可靠和高效。它们改变了软件开发和运维的方式,并促进了应用程序的可移植性和可扩展性。

在下一篇取证实战中,我们会继续探讨docker在实际情况当中的使用。

一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论


原文始发于微信公众号(电子取证及可信应用协创中心):一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月19日11:33:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一篇文章带你上手Linux下的Docker和相关取证(上)——基础理论http://cn-sec.com/archives/1817242.html

发表评论

匿名网友 填写信息