【易客吧】_全网激活码总代_激活码商城

您现在的位置是:首页 > 热门资讯 > 正文

热门资讯

docker是干什么的 (docker build)

用户投稿2024-03-31热门资讯39

在当今的软件开发和部署,Docker 是一个非常重要的工具和技术。Docker 是一种容器化平台,它可以让开发人员打包应用程序及其所有依赖关系到一个可以移植的容器中,然后部署在任何支持 Docker 的环境中。Docker 的核心理念是将应用程序和其依赖项打包为一个独立、可移植的容器,从而实现跨平台、快速部署和高效运行。

Docker Build 是 Docker 提供的一个命令,用于根据 Dockerfile 构建镜像。Dockerfile 是一种文本文件,其中包含了指令和参数,用于定义 Docker 镜像的构建步骤。通过 Docker Build 命令,开发人员可以将 Dockerfile 中定义的构建过程自动化执行,生成一个定制化的镜像,其中包含了开发人员所需的应用程序及其依赖项。

在使用 Docker Build 进行镜像构建时,通常会遵循以下步骤:

  1. 编写 Dockerfile: 开发人员需要编写一个 Dockerfile 文件,其中包含了构建镜像所需的指令和参数。Dockerfile 可以定义基础镜像、安装软件包、设置环境变量、复制文件等操作。
  2. 执行 Docker Build: 一旦 Dockerfile 编写完成,开发人员可以使用 Docker Build 命令来执行构建过程。通过指定 Dockerfile 的路径和其他参数,Docker 将自动按照 Dockerfile 中定义的步骤来构建镜像。
  3. 生成镜像: 在 Docker Build 过程中,Docker 将执行 Dockerfile 中的每个指令,逐步生成镜像。每个指令的执行结果将作为下一个指令的输入,从而构建出一个完整的镜像,该镜像包含了开发人员所需的应用程序及其运行环境。

通过 Docker Build,开发人员可以实现镜像的自动化构建和定制化,从而大大简化了应用程序的部署和管理过程。开发人员可以根据自己的需求和项目的特点来编写 Dockerfile,灵活地定义镜像的构建步骤,使得每个镜像都可以满足特定的需求和环境要求。

Docker Build 是一个非常强大和灵活的工具,它可以帮助开发人员实现应用程序的快速构建和部署,提高开发效率和部署可靠性,是现代软件开发过程中不可或缺的一部分。


通过查看帮助文档查看dockerbuild命令作用

通过查看帮助文档查看dockerbuild命令作用是build命令用于使用Dockerfile创建镜像。 dockerbuild命令用于从Dockerfile构建镜像。 可以在dockerbuild命令中使用-f命令也就是指定要构建的脚本,通过-t输出镜像名称还可以跟:加上版本。

Docker是什么Docker的安装和卸载Docker中关于镜像的基本操作

Docker是什么?

Docker是一个虚拟环境容器,可以将你的开发环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。比如,你在本地用Python开发网站后台,开发测试完成后,就可以将Python3及其依赖包、Flask及其各种插件、Mysql、Nginx等打包到一个容器中,然后部署到任意你想部署到的环境。

Docker官方文档比较全,建议有能力的读一下官方文档。

Docker的三个概念

1、镜像(Image):类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。

2、容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变。

3、仓库(Repository):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用tag进行区分,比如Ubuntu仓库存放有多个版本(12.04、14.04等)的Ubuntu镜像。

Docker的安装和卸载

Docker可以安装在Windows、Linux、Mac等各个平台上。具体可以查看文档Install Docker。安装完成之后,可以查看Docker的版本信息:

查看Docker的帮助信息:# docker --help。各种命令的用法也不再赘述,后边用到哪些命令时会作出一定的解释。

Docker中关于镜像的基本操作

安装完Docker引擎之后,就可以对镜像进行基本的操作了。

我们从官方注册服务器()的仓库中pull下CentOS的镜像,前边说过,每个仓库会有多个镜像,用tag标示,如果不加tag,默认使用latest镜像:

以上是下载一个已有镜像,此外有两种方法可以帮助你新建自有镜像。

(1)利用镜像启动一个容器后进行修改 ==> 利用commit提交更新后的副本

此时利用exit退出该容器,然后查看docker中运行的程序(容器):

这里将容器转化为一个镜像,即执行commit操作,完成后可使用docker images查看:

其中,-m指定说明信息;-a指定用户信息;72f1a8a0e394代表容器的id;xianhu/centos:git指定目标镜像的用户名、仓库名和 tag 信息。注意这里的用户名xianhu,后边会用到。

此时Docker引擎中就有了我们新建的镜像xianhu/centos:git,此镜像和原有的CentOS镜像区别在于多了个Git工具。此时我们利用新镜像创建的容器,本身就自带git了。

利用exit退出容器。注意此时Docker引擎中就有了两个容器,可使用docker ps -a查看。

(2)利用Dockerfile创建镜像

Dockerfile可以理解为一种配置文件,用来告诉docker build命令应该执行哪些操作。一个简易的Dockerfile文件如下所示,官方说明:Dockerfile reference:

-# 说明该镜像以哪个镜像为基础

FROM centos:latest

-# 构建者的基本信息

MAINTAINER xianhu

-# 在build这个镜像时执行的操作

RUN yum update

RUN yum install -y git

docker是干什么的 (docker build) 第1张

-# 拷贝本地文件到镜像中

COPY ./* /usr/share/gitdir/

有了Dockerfile之后,就可以利用build命令构建镜像了:

其中-t用来指定新镜像的用户信息、tag等。最后的点表示在当前目录寻找Dockerfile。

构建完成之后,同样可以使用docker images命令查看:

以上就是构建自己镜像的两种方法。其中也涉及到了容器的一些操作。如果想删除容器或者镜像,可以使用rm命令,注意:删除镜像前必须先删除以此镜像为基础的容器。

镜像其他操作指令:

Docker中关于容器的基本操作

在前边镜像的章节中,我们已经看到了如何基于镜像启动一个容器,即docker run操作。

这里-it是两个参数:-i和-t。前者表示打开并保持stdout,后者表示分配一个终端(pseudo-tty)。此时如果使用exit退出,则容器的状态处于Exit,而不是后台运行。如果想让容器一直运行,而不是停止,可以使用快捷键 ctrl+p ctrl+q 退出,此时容器的状态为Up。

除了这两个参数之外,run命令还有很多其他参数。其中比较有用的是-d后台运行:

这里第二条命令使用了-d参数,使这个容器处于后台运行的状态,不会对当前终端产生任何输出,所有的stdout都输出到log,可以使用docker logs container_name/container_id查看。

启动、停止、重启容器命令:

后台启动一个容器后,如果想进入到这个容器,可以使用attach命令:

删除容器的命令前边已经提到过了:

Docker中关于仓库的基本操作

Docker官方维护了一个DockerHub的公共仓库,里边包含有很多平时用的较多的镜像。除了从上边下载镜像之外,我们也可以将自己自定义的镜像发布(push)到DockerHub上。

在镜像操作章节中,我们新建了一个xianhu/centos:git镜像。

(1)访问,如果没有账号,需要先注册一个。

(2)利用命令docker login登录DockerHub,输入用户名、密码即可登录成功:

(3)将本地的镜像推送到DockerHub上,这里的xianhu要和登录时的username一致:

(4)以后别人就可以从你的仓库中下载合适的镜像了。

对应于镜像的两种创建方法,镜像的更新也有两种:

创建容器之后做更改,之后commit生成镜像,然后push到仓库中。

更新Dockerfile。在工作时一般建议这种方式,更简洁明了。

这里再一次回顾一下三个重要的概念:镜像、容器、仓库:

从仓库(一般为DockerHub)下载(pull)一个镜像,Docker执行run方法得到一个容器,用户在容器里执行各种操作。Docker执行commit方法将一个容器转化为镜像。Docker利用login、push等命令将本地镜像推送(push)到仓库。其他机器或服务器上就可以使用该镜像去生成容器,进而运行相应的应用程序了。

利用Docker创建一个用于Flask开发的Python环境

上边已经解释和练习了Docker的基本操作命令,下边以实例的形式完整走一遍流程。

我们创建一个用于Flask开发的Python环境,包含Git、Python3、Flask以及其他依赖包等。

完整命令如下:

Docker的功能和特性还有很多,各种运行命令、参数等也都有待学习和练习,比如如何管理数据、如何管理网络、如何互相配合工作、如何编写更专业的Dockerfile等。本文先入门为主,以后有时间再慢慢更新关于Docker的知识。

容器docker的作用是什么

1、作用:提到容器技术,我们就不可避免的会想到docker。 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中。 在用Docker的情况下,大家可以直接把项目发布在DocKer容器上面进行测试,当项目需要正式上线的时候,直接可以把做好的DocKer 镜像部署上去就行了,如果测试的好,就不必担心项目上正式版本的时候再出现什么问题。 2、好处:(1)轻量、消耗少:使用Docker能合并多个服务以降低费用,不多的操作系统内存占用,跨实例共享多个空闲的内存,这些技术让Docker能以更加紧密的资源提供更有效的服务合并。 基于LXC轻量级特点,启动快,而且docker能够只加载每个container变化的部分,这样资源占用小,在单机环境下与KVM之类的虚拟化方案相比,能够更加快速和占用更少资源。 (2)高利用率与隔离:容器服务没有管理程序的额外开销,与底层共享操作系统,性能更加优良,系统负载更低,在同等条件下可以运行更多的实例,充分利用系统资源。 同时,容器拥有不错的资源隔离与限制能力,可以精确地对应用分配CPU、内存等资源,保证了应用间不会相互影响。 (3)快速部署与微服务:Docker通过创建流程的容器,不必重新启动操作系统,几秒内能关闭,你可以在数据中心创建或销毁资源,不用担心额外消耗。 Docker 提供轻量的虚拟化,你能够从Docker获得一个额外抽象层,能够在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用。 (4)标准化环境和控制:基于容器提供的环境一致性和标准化,你可以使用Gt等工具对容器镜像进行版本控制。 相比基于代码的版本控制来说,还能够对整个应用运行环境实现版本控制,一旦出现故障可以快速回滚。 相比虚拟机镜像,容器压缩和备份速度更快,镜像启动也像启动一个普通进程一样快速。

若对本页面资源感兴趣,请点击下方或右方图片,注册登录后

搜索本页相关的【资源名】【软件名】【功能词】或有关的关键词,即可找到您想要的资源

如有其他疑问,请咨询右下角【在线客服】,谢谢支持!

docker是干什么的 (docker build) 第2张

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~
欢迎你第一次访问网站!