Docker的部署(以go为例子)

   日期:2024-12-26    作者:czdytfhm4 浏览:65    移动:http://w.yusign.com/mobile/quote/6842.html

首先需要了解基础概念,我们首先需要了解什么是docker,以及docker内的一些概念,以及为什么要使用docker

首先先介绍基础概念

1.镜像:Docker镜像是一个只读的模板,包含了运行应用程序所需的文件系统、库、依赖关系以及配置信息等。

它可以被理解为一个打包了应用程序及其运行环境的轻量级、可移植的容器镜像。

2.容器:Docker容器是镜像的运行实例,是镜像的一个可执行进程。

它包含了运行应用程序所需的所有内容,包括代码、运行时、系统工具、系统库等,并且是一个独立、可执行的环境。

说白了就是镜像就是软件包,容器就是运行这个软件包的一个程序一样。

  1. 镜像与容器的联系
    • 容器是基于镜像创建的。每个容器都有一个与之对应的镜像,这个镜像定义了容器的初始状态。
    • 容器在运行时,会加载镜像中的文件系统、库、依赖关系等,并在这个基础上执行应用程序。
  1. 镜像与容器的区别
    • 镜像是静态的、不可更改的模板,而容器是镜像的一个动态运行实例。
    • 镜像是用于分发和部署的,而容器是用于运行和管理应用程序的。

为什么要使用docker呢

这个问题就很简单了,如果我们要想在其他服务器或者电脑上去运行我们的一个项目,我们就要花很长的时间去下载对应的环境,如果这个项目牵扯的环境特别多,就会导致部署非常麻烦,那有没有什么方法可以简化部署呢

那就可以使用docker了,他可直接帮我们部署环境,而且只下载需要使用的部分,不会占用大量内存。

具体的好处可以上网查询。

废话不多说,直接进入部署环节

docker的部署也很简单,就是写一个dockerfile文件,执行就可以了

有人可能会好奇为什么要写这个dockerfile文件,他是干什么的呢?

接下来就简单介绍一下什么是dockerfile。

dockerfile就是一个指令集,运行这个指令集,他就会将这些指令一一进行,帮助我们下载所需要配置的环境。

简单地说,它是一个描述要做的事情的一个清单,这要把它写好,计算机就会按照这个清单把要下载的东西下载好。

既然如此要如何去写这个docker文档呢

这里以go为例写一个分段式的docker文件的编写

 

docker build -t your_name .

这个命令就是创建一个你的项目的镜像的命令,后面的点不要忘记。

docker ps

这个命令用来查看我们的容器运行情况

往往在实际的开发里面的web,涉及的到内容往往非常多。

比如redis,mysql,nginx等等一系列的内容,一个一个部署又非常的麻烦

Docker的部署(以go为例子)

那有什么快速部署,启动他们的方法嘛

当然有,那就是docker-compose.yml

它可以同时部署多个容器,并且同时启动。

具体就展示一个例子,来看他是如何实现的吧

(这也就是一个展示,具体的内容还是上网搜索即可。

 

再导入数据库的时候我们会发现,我们并没有将数据库的信息导入,这里docker提供了一个方法

编写一个这样名字的文件夹,将sql放入,docker会在你部署的时候自动执行这个sql文件

或者就是在docker-compose.yml的cmd执行,也是可以的。

docker-compose up -d

就是通过docker-compose创建一个大镜像

Docker Compose | 菜鸟教程

除此之外,我们还要学会如何部署mysql,redis等等,可以参考这个文档

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.39

这个:后面是版本,如果是latest,意思就是默认最新版本,尽量与自己版本对齐哦

docker的实例化工具:docker desktop还要别的,本人用的是这个。

更多想学习go语言的,都可以看我语雀笔记,可以为我提出意见,嘿嘿。

本文地址:http://w.yusign.com/quote/6842.html    述古往 http://w.yusign.com/static/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关行情
推荐行情
点击排行
{
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号