大家好,关于小程序访问网站源码分享很多朋友都还不太明白,今天小编就来为大家分享关于小程序访问网站源码分享怎么弄的知识,希望对各位有所帮助!
创建docker镜像并通过3个步骤部署您的Node应用程序
为什么选择Docker?
“Docker消除了重复的、平凡的配置任务,并在整个开发生命周期中用于快速、简单和可移植的应用程序开发——桌面和云。Docker全面的端到端平台包括UI、CLI、API和安全性,旨在在整个应用程序交付生命周期中协同工作。”-官方网站
我自己说得再好不过了。这正是Docker的原因。如果这有点难以理解,简单来说,这意味着Docker让您可以更专注于让您的代码/产品/应用程序变得更好,消除随之而来的所有与部署和分发相关的担忧。
Docker配置
完成最初的步骤后,终于到了配置我们的应用程序以与Docker一起使用的时候了。我们将同时使用Dockerfile和docker-compose方法来对我们的应用程序进行docker化。
使用Dockerfile
在项目的根目录中,添加一个名为Dockerfile的新文件。请记住,它必须具有确切的名称,否则您将必须明确告诉docker哪个文件用作配置。此外,此文件没有扩展名。
FROMnode:lts-alpine——指示Docker使用来自Docker注册表的精简版本的NodeJS镜像,作为我们正在创建的镜像的基础。使用WORKDIR/usr/app,我们创建一个usr/app一个工作目录,我们的所有代码都将在其中存在,然后将package.json和package-lock.json复制到该目录。通过首先复制package.json和package-lock.json,我们利用了Docker附带的缓存,因为它只复制在图像创建之间更改的文件。完成后,我们从项目根目录复制所有内容。(在我们的机器上),在容器上的WORKDIR上。通过使用EXPOSE4000,我们让docker知道,一旦我们使用此映像启动容器,我们希望端口4000可用于流量。RUNnpmrunts-build也是我们在本地机器上所做的。它只是编译我们的TypeScript代码。最后,CMD[&34;,&34;]是我们指定在使用我们的图像创建新容器时应该执行的默认命令的方式。毕竟,我们确实希望我们的应用程序在容器启动后启动。
此时,我们实际上可以继续构建我们的镜像,并通过在CLI中运行一些命令来启动一个新容器,或者我们可以创建一个docker-compose文件。我肯定会向您展示两种方式,但请记住,使用docker-compose确实使很多事情变得更容易。一旦我们进入下一步,您将看到这一点。
使用docker-compose
和以前一样,在项目的根目录中添加2个新文件docker-compose.yml和Dockerfile.dev。原因很简单,这将用于开发环境。是的!这是正确的!与我们使用webpack或使用nodemon所做的类似,我们也可以在Docker中拥有dev和prod版本。
如果你把Dockerfile.dev和docker-compose.yml都拿来和一开始创建的Dockerfile比较,你会发现相似之处。我们仍在公开PORT4000并添加npmrundev的默认容器命令。
如果你已经完成了这里,我们已经完成了主要配置,我们将需要为我们的应用程序创建一个图像并使用该图像启动一个新容器。
构建镜像并启动容器
我们可以通过不同的方式构建图像。
使用Dockerfile
通过运行以下命令,我们告诉docker使用当前上下文构建一个新镜像。,使用-t标志在<your_dockerhub_name>/<container_name>:tag中命名图像,并使用我们首先创建的Dockerfile执行所有这些操作。
dockerimagebuild.-t<your_dockerhub_name>/<container_name>:tag
现在要使用该图像创建一个新容器,我们需要运行:
dockerrun-p4000:4000<image_name/image_id>
您将看到-p4000:4000标志和传递到命令中的值,它告诉docker将我本地机器的端口4000映射到容器的端口4000。这将使我可以在localhost:4000上访问我的节点应用程序。这称为容器端口映射。
使用docker-compose
还记得我们添加到docker-compose文件中的所有配置吗?还有我是如何告诉你的,使用docker-compose会让你的生活更轻松?现在是时候施展魔法了……通过在cli中运行以下命令,我们可以一次性构建映像并启动新容器。
docker-composeup–build
就是这样。–build标志指示docker首先使用Dockerfile.dev中的配置构建映像,然后启动具有所有这些网络设置(容器端口映射)和默认命令的新容器。
添加生成文件
老实说,很难继续编写相同的长命令,或者记住必须传递到cli的所有标志。我建议您在项目根目录中添加一个Makefile并创建脚本(类似于我们在package.json中所做的)。运行任何命令就像make<command_name>一样简单。
运行makeup-dev命令或makebuild-image,然后运行makerun-image命令后,您的应用程序将在Docker容器中运行。如果您在终端/控制台中没有收到任何错误,请访问localhost:4000,您将看到打印的消息—HelloWorld!。从那时起,天空就是你的极限。
关注七爪网,获取更多APP/小程序/网站源码资源!
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!
