docker怎么部署web项目,使用OpenResty Docker 镜像快速搭建 Web 服务器

互联网 2024-04-09 阅读

今天给各位分享docker怎么部署web项目的知识,其中也会对使用OpenResty Docker 镜像快速搭建 Web 服务器进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

docker怎么部署web项目,使用OpenResty Docker 镜像快速搭建 Web 服务器

如何使用 Docker 部署容器

设想,为了推出一个网站,您不必从裸机安装一个完整的服务器。而不是安装操作系统,然后安装服务器软件,然后部署精心设计的应用程序或站点,您可以简单地在一个独立的包中开发所有内容,并使用单个命令将其推出。

这是使用容器的众多好处之一。它们使开发和部署周期变得异常高效。但是你如何部署这些容器?我想在这里指导你完成这个过程。我们将专注于在Ubuntu Server 18.04上部署基本的NGINX Web服务器作为容器。所有这一切都将在Docker的帮助下完成。

为了成功将NGINX部署为容器,您需要具备以下条件:

-一个安装了Docker的Ubuntu Server 18.04的运行实例。

-一个docker用户组的成员用户

是的,有了这两部分,你就准备好了。

您部署的每个容器都将基于从DockerHub中提取的镜像。您可以下拉单个镜像并根据需要随时使用。 DockerHub上还有许多镜像用于单个应用程序或平台。以NGINX为例。如果你在DockerHub上搜索NGINX,你会得到大约56,172个条目。这并不意味着每个条目都是您可以使用的可用图像。

图像命名如下:

例如,对于NGINX,您可能会找到一个名字为的镜像:

或许你可能找到:

您也看到了,有几乎所有需要的镜像。

在使用图像之前,必须将其保存在本地驱动器上。有两种方法可以做到这一点:

-直接使用pull命令

-间接地,在容器部署过程中。

要从DockerHub中拉取图像,您将打开一个终端窗口并发出命令:

如果你想拉取Ingress图像,该命令是:

当你拉取你需要的图像之后,你可以使用命令确认是否存在:

上面的命令将列出你拉取的所有镜像(图A)。

拉取随意图像时要谨慎。为什么?因为你永远不知道创造它们的原因。容器可能包含恶意代码,可能会对您的网络或数据造成严重破坏。因此,最好只使用官方图像(例如NGINX图像)。

现在该部署容器了,如果您尚未拉取镜像,则在部署阶段将下拉所需要的镜像。由于我们拉取官方NGINX图像,我们将使用它。

要部署容器,请使用docker命令,如下所示:

备注:

- NAME等于您要为容器提供的名称(这可以是任何内容,例如nginx-webserver)。

- PORTS您要使用的端口(以NETWORK PORT:CONTAINER PORT形式)。

- IMAGE用于容器的图像(例如nginx)。

因此,部署NGINX容器的基本命令是:

容器将要部署,NGINX Web服务器将在端口80上可用于本地网络。但是,如果已在服务器上使用端口80来部署容器,该怎么办?您可以将其部署在网络端口8080上,如下所示:

此时,您可能会看到下一个问题。运行上述命令之一后,不返回bash提示符(图B)。

你如何运行一个容器,并获得你的bash提示?为此,您必须以分离模式运行容器。在此之前,您必须使用键盘组合[Ctrl]+终止当前容器。该组合将返回提示并杀死容器。

要确定容器是否运行,使用命令:

将列出所有容器及其状态(图C)。

如果容器仍在运行,我们必须在同一端口部署另一个容器之前将其终止(否则端口会发生冲突,从而阻止容器部署)。要杀死正在运行的容器,首先需要Container ID(随机字符串)。发出docker ps-a命令时会显示此字符串。要终止正在运行的容器,使用命令:

其中CONTAINER_ID是相关容器的ID。

然后,您可以使用以下命令删除容器:

其中CONTAINER_ID是相关容器的ID。

请注意,您不必输入完整的Container ID,字符串的前四个字符就足够了。

现在,要以分离模式部署容器,命令是:

这次你不仅会得到你的提示,而且Docker会为你显示容器ID(图D)。

如果你想在正在运行的容器上工作怎么办?假设您想对NGINX进行更改甚至开始开发它将显示的网站?因此,您必须访问容器。因此,您需要Container ID。使用ID,发出命令:

其中CONTAINER_ID是容器的ID。

您现在应该处于运行容器提示符(图E)中,您可以在其中开始处理NGINX服务器。

要退出容器,只需键入命令exit。

七、比你想象的容易

希望到现在为止,您看到容器部署并不像您想象的那样具有挑战性。在Docker的帮助下,您可以在几分钟内推出专业版的应用和服务。

原文链接:

使用OpenResty Docker 镜像快速搭建 Web 服务器

在日常工作中经常需要搭建 Web服务器和反向代理服务器,用于测试和生产的情况都有。虽然用于测试的场景有很多便捷的方法,但是在向生产环境迁移时会导致有些工作不能复用。综合看起来,还是用 Nginx最为方便。本文尝试提供一些配置模板。

需要提前了解的内容:

选择 OpenResty的原因:

OpenResty默认安装位置:

安装目录中 Nginx相关文件:

默认服务指向 Web文件夹:

映射关系:

默认配置文件位置(后续的配置会覆盖这里的内容):

在绝大多数情况,覆盖上面的配置文件就可以了。

但是,这些配置文件的内容,只能是包含在 http段内的配置,并不能作为完整的配置文件使用。

比如:

可以包含: upstream、 server

不能包含: tcp

完整配置文件位置:

配置文件相关信息:

镜像默认配置为到/etc/nginx/conf.d/读取配置,所以要把配置文件放到这里。其余的挂载或端口映射根据需要进行。

假设需要建立如下服务:

(1)通过 访问/tmp/webroot/shared1

(2)通过 访问/tmp/webroot/myshare

(3)通过 访问

配置文件:

启动命令行:

详情参考: docker-openresty- Docker tooling for OpenResty- Nginx Config Files

模拟为应用提供多级反向代理,查看访问链路。简单分为三部分:

使用 Docker Compose来配置并串联各容器,文件较多,访问 GitHub查看。

(完)

如何使用docker部署vue项目

熟悉vue项目的开发朋友应该了解,对于vue项目来说,上线其实就是执行npm run build命令,然后将build出的dist文件夹上传到服务器上就可以了,对于现在的前后端分离项目来说,就是把dist放到nginx的html文件夹即可。

上传的过程既可以手动实现,也可以通过jenkins这类在线编译软件,总之,殊途同归。

除了上面两种还有一种现在比较火的部署方式,就是docker部署,当然正如上面说的,docker也是要实现上面的操作,只不过有些差异而已。

针对docker部署需要了解的是,一般我们只需要拉取nginx镜像,把dist文件夹写入镜像即可,不需要去镜像里面执行拉取代码、执行编译、打包等操作。这些操作一般在写入镜像执行。

这样做的目的跟docker的理念是一致的,功能解耦,方便维护,而且对于一些大公司来说,可能还需要将编译后的代码进行扫描等操作,如果在docker镜像内编译的话如果出现错误是不好定位问题的。

那么如何实现docker部署vue项目呢,操作如下参考:

文件目录如下:

在vueProject根目录下新建Dockerfile文件,注意没有后缀,nginx镜像默认服务器的目录在/usr/share/nginx/html,内容如下:

build项目:

Build完成后会生成dist目录

然后在vueProject根目录下打开命令行执行如下命令生成镜像:

注意最后是一个点,代表在当前目录执行Dockerfile

如果没报错说明执行成功,此时可以在docker镜像列表看到该镜像。

启动镜像:

—name vp代表自定义启动的镜像名称

-dp是-d,-p的简写

8088:80代表在宿主机的8088端口映射镜像的80端口,因为nginx默认的服务器端口就是80

最后就是之前生成的镜像名称。

大功告成。

更多详情:javascript技术分享

本站所有文章资源内容,如无特殊说明或标注,均为网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

dob值的高低能说明什么,dob值多少算严重的幽门螺杆菌感染

doc格式怎么做,word文字怎么转换成doc格式