首页 > 编程知识 正文

微服务为什么要用docker,微服务需要docker部署吗

时间:2023-05-05 22:55:25 阅读:26092 作者:404

介绍Docker DC oker Docker的特点docker和虚拟机的区别docker部署项目的完整流程

直流操作器介绍

Docker是一个开放源代码的APP应用程序容器引擎,基于Go语言,并符合Apache2.0协议的开放源代码。

通过Docker,开发人员可以将自己的项目和项目所需的依赖软件包打包到轻量级、可移植的容器中。 此外,该容器还可以发布到常见的linux计算机或进行虚拟化

容器完全使用沙盒机制,相互之间没有接口(就像iPhone上的app一样),更重要的是容器的性能开销非常低

从17.03版开始,文档管理器分为社区版(ce )和企业版(ee ) 3360

Docker的特点Docker作为目前主流的开源容器引擎,主要具有以下特点

1、快速交货和部署

开发人员可以使用一组标准镜像构建一组开发容器。 开发完成后,承运人可以直接使用此容器部署代码。 Docker可以快速创建容器和快速迭代APP应用程序,并可视化整个过程,从而使团队中的其他成员更容易了解APP应用程序是如何创建和运行的。 Docker容器重量轻,启动速度快,可以大大节省开发、测试和部署所需的时间。

2 .更高效的虚拟化

Docker容器在运行时不需要其他虚拟机管理程序支持。 由于是内核级虚拟化,因此可以提高性能和效率。

3、更简单的迁移和扩展

Docker容器可以在几乎任何平台上运行,包括物理机、虚拟机、公共云、私有云、个人计算机和服务器。 这种卓越的兼容性使用户能够将一个APP应用程序从一个平台直接迁移到另一个平台,这对于APP应用程序的迁移和扩展非常有帮助。

4、管理更简单

使用Docker,只需进行小的修改,就可以替换传统的大量更新工作。 所有更改都是分阶段分发和更新的,从而实现自动化和高效管理。

Docker和虚拟机之间的区别

Docker部署项目的全过程我使用Docker部署的是golang的项目,其他语言项目也是一样的步骤,只是Dockerfile文件中需要修改一些命令

1、谷歌项目的源代码,写了一个简单的界面

packagemainimport (github.com/gin-gonic/gin ' ' net/http ' ) func main ) ({router :=gin.Default ) router gin.context ) CTX.JSON(http.statusok,gin.h ) code':' message' : 'success ',} ) ) ) )

3、此时项目已经启动。 游客来访,Dockerfile文件是什么无关紧要。 稍后再说

4、项目正常运行时,可以建立自己的镜像。 当然,在构建镜像之前Dockerfile文件是必不可少的。 这是因为在构建镜像时分析Dockerfile文件

这里的Dockerfile文件是必须在此项目中设置的Dockerfile文件

5、文档文件是文本配置文件,用户可以使用文档文件快速创建自定义镜像

docker build命令用于从docker文件构建图像。 在docker build命令中使用-f标志可以指向文件系统中任意位置的Dockerfile。

所以,文档文件的放置很重要。 详细说明以上命令

(1) Dockerfile )用于标记这是Dockerfile文件。 写也行,不写也行。 如果要写(评论、

)2)在From后面和妈妈镜像)例如,我们的项目是谷歌,所以一定要有谷歌的依赖环境。 如果每个语言都有自己的依赖环境镜像,则golang可以使用名为golang:latest的镜像。 当然,前提是自己的docker必须有此镜像。 如果没有的话,请自己拉过来

这个截图是我的docker中存在的镜像。 谷歌表示镜像名称,latest表示版本号。 如果没有名为golang的镜像,则必须通过以下命令自动下载

创建名为dockerpullgolang(3) WORKDIR /app ) APP的文件夹时,希望在创建镜像时指定镜像的工作目录,但可以自行获取此工作目录名称

(4)复制./app )将当前golang项目复制到镜像的工作目录中

)5) EXPOSE )如果指定容器露出的端口,则golang项目将成为侦听端口。 这里是8080

)6) ENV )配置环境变量。 我现在的环境变量是随意给定的

)7) CMD )指定启动容器时要执行的命令,每个Dockerfile只能有一个CMD命令。 如果指定了多个命令,则只执行最后一个命令。 如果指定了用户启动容器时要执行的命令,则CMD指定的命令将被复盖。

我现在构建了谷歌项目并推出了主程序,所以直接使用./main就可以运行程序。 请自己在网上查一下具体的Dockerfile的详细情况

6、配置文档文件后,可以进行镜像

docker build-t myapp : v1.0.0. myapp自己指定镜像名称,v1.0.0是版本号,也可以自己指定。 最后的.是需要构建项目的路径

7、此时镜像成功,需要执行他

显示镜像命令

文档映像运行镜像

docker run-d-p 808033608080 myapp : v1.0.0- d在后台运行

-p是指定的端口号,左侧是游客访问时使用的端口号,可以任意指定。 右侧是项目等待的端口号,不能更改

myapp:v1.0.0是镜像名称的版本号,可以指定此镜像运行,也可以使用镜像ID

注:此时,端口号显示表示端口工作正常

查看正在运行的容器

杜克斯PS

8、此时应该镜像的容器已经运行,试着测试一下吧

此时,项目已在docker上部署

具体更多的docker使用命令可以自行去查看

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。