个性化阅读
专注于IT技术分析

docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

上一章docker开发教程请查看:docker网络通信操作

这一章我们来看看如何安装常用的一些开发程序,这里主要介绍docker安装Node.js、MongoDB和Nginx。

一、docker安装Node.js

Node.js是一个用于开发服务器端应用程序的JavaScript框架,它是一个开源框架并且可以在多种操作系统上运行。由于Node.js是一个流行的开发框架,Docker也确保了它对Node.js应用程序的支持。

下面我们将看到启动和运行Node.js的Docker容器的各种步骤。

1、从Docker Hub中提取Node.js镜像

当你登录到Docker Hub时,你将能够搜索并看到如下所示的Node.js的镜像,只需在搜索框中输入Node,然后单击出现在搜索结果中的Node(官方)链接。

搜索node.js镜像

2、复制pull命令

你可以在Docker Hub的Node仓库详细信息页面右边看到针对node的Docker pull命令。

复制node pull命令

3、将镜像pull到docker主机上

在Docker主机上使用上面所示的Docker pull命令从Docker Hub下载最新的节点镜像,一旦pull命令完成,我们就可以进行下一步。

将Node.js pull到docker主机

4、编写测试JS文件

在Docker主机上我们使用vim编辑器并创建一个Node.js示例文件,在这个文件,我们将添加一个简单的console.log(“”)命令来在命令提示符中显示HelloWorld。确保你保存了该文件,然后进行下一步。

5、运行Node.js脚本

要使用Node Docker容器运行Node.js脚本,需要执行以下语句:

sudo docker run -it --rm --name=Hello -v "$PWD":/usr/src/app -w /usr/src/app node node Hello.js

关于上述命令,需要注意以下几点

  • rm选项用于在容器运行后移除它。
  • 我们给这个容器命名为“Hello”。
  • 我们提到要将容器中的卷(即/usr/src/app)映射到当前工作目录,这样做是为了让节点容器获得我们的Hello.js脚本,该脚本位于Docker主机上的工作目录中。
  • w选项用于指定Node.js使用的工作目录。
  • 第一个节点选项用于指定运行节点镜像。
  • 第二个节点选项用于在节点容器中运行node命令。
  • 最后我们提到脚本的名字。

然后我们将得到以下输出,从输出中我们可以清楚地看到节点容器作为容器运行并执行Hello.js脚本。

执行JS脚本

二、docker安装MongoDB

MongoDB是一个著名的面向文档的数据库,许多现代web应用程序都使用它。由于MongoDB是一个流行的开发数据库,Docker也保证了它对MongoDB的支持。

下面我们将看到启动和运行MongoDB的Docker容器的各种步骤。

1、从Docker Hub中提取mongodb镜像

当你登录到Docker Hub时,你将能够搜索并看到如下所示的Mongo镜像。只要在搜索框中输入Mongo,然后点击在搜索结果中出现的Mongo(官方)链接。

搜索mongodb镜像

2、复制pull命令

你将会在Docker Hub的存储库的详细信息页右边中看到针对Mongo的Docker pull命令。

docker pull mongo

3、将mongodb pull到本地

在Docker主机上使用上面所示的Docker pull命令从Docker Hub下载最新的Mongo镜像。

将mongodb pull到本地

4、运行mongodb

现在我们有了Mongo的镜像,让我们首先运行一个MongoDB容器,它将是我们的MongoDB实例,为此我们将执行以下命令:

sudo docker run -it -d mongo

关于上述命令,可以注意到以下几点

(1)-it选项用于以交互模式运行容器。

(2)d选项用于将容器作为守护进程运行。

(3)最后我们从Mongo镜像创建一个容器。

然后可以执行docker ps命令来查看正在运行的容器

查看MongoDB容器

请注意以下几点:

  • 容器的名称是zealous_franklin。这个名称可能会不同,因为容器的名称在你旋转容器时一直在变化,但是请注意你启动的容器。
  • 接下来,还要注意它所运行的端口号。它正在监听TCP端口27017。

5、启动mongodb客户端

现在让我们启动另一个容器,它将作为我们的客户端,用于连接到MongoDB数据库,让我们发出以下命令:

sudo docker run -it --link=zealous_franklin:mongo mongo /bin/bash 

关于上述命令,可以注意到以下几点

(1)-it选项用于以交互模式运行容器。

(2)我们现在将新容器链接到已经启动的MongoDB服务器容器,这里你需要提到已经启动的容器的名称。

(3)然后我们指定要将Mongo容器作为客户机启动,然后在新容器中运行bin/bash shell。

执行bin shell

6、使用env命令获取信息

在新容器中运行env命令,查看如何连接到MongoDB服务器容器的详细信息。

ENV命令和新容器

ENV命令查看mongodb信息

7、从客户的连接到mongodb服务器

现在是时候从客户机容器连接到MongoDB服务器了,我们可以通过下面的命令来做到这一点:

mongo 172.17.0.3:27017 

关于上述命令,需要注意以下几点

  • mongo命令是用于连接到MongoDB数据库的客户端mongo命令。
  • IP和端口号是在使用env命令时获得的。

运行该命令后,你将连接到MongoDB数据库。

连接到MongoDB数据库

然后可以在命令提示符中运行任何MongoDB命令,在我们的例子中我们运行以下命令:

use demo

这个命令是一个MongoDB命令,用于切换到一个数据库名称demo,如果数据库不可用则将创建它。

Mongodb操作演示

现在为止你已经成功地创建了客户机和服务器MongoDB容器。

三、docker安装Nginx

NGINX是一个流行的轻量级web应用程序,用于开发服务器端应用程序。它是一个开放源代码的web服务器,可以在各种操作系统上运行。由于nginx是一个流行的web服务器开发,Docker已经确保它支持nginx。

现在,我们将看到启动和运行nginx的Docker容器的各种步骤。

1、从Docker Hub中提取镜像

当你登录到Docker Hub时,你将能够搜索并查看nginx的镜像,如下所示只需在搜索框中输入nginx,然后点击出现在搜索结果中的nginx(官方)链接。

NGINX官方链接

2、复制pull命令

你可以在Docker Hub的仓库详情页右边看到针对nginx的Docker pull命令。

docker pull nginx

3、将nginx镜像下载到docker主机

在Docker主机上使用上面所示的Docker pull命令从Docker Hub下载最新的nginx镜像。

下载NGINX的镜像

4、运行nginx容器

现在让我们通过以下命令运行nginx容器。

sudo docker run -p 8080:80 -d nginx

我们将nginx服务器上的端口80暴露给Docker主机上的端口8080。

运行该命令后,如果你浏览到URL http://dockerhost:8080,你将得到以下输出。这表明nginx容器已经启动并正在运行。

浏览器查看nginx

5、nginx运行HTML文件

让我们来看另一个例子,我们可以在ngnix容器中托管一个简单的web页面。在我们的示例中,我们将创建一个简单的HelloWorld.html文件,并将其驻留在nginx容器中。

让我们首先创建一个名为HelloWorld.html的HTML文件,然后在HTML文件中添加简单的Hello World行,接着运行以下Docker命令。

sudo docker run -p 8080:80 -v "$PWD":/usr/share/nginx/html:ro -d nginx 

关于上述命令,需要注意以下几点

  • 我们将nginx服务器上的端口80暴露给Docker主机上的端口8080。
  • 接下来我们将容器上的卷/usr/share/nginx/html附加到当前工作目录,这是存储HelloWorld.html文件的地方。
nginx运行HTML文件

现在如果我们浏览到URL http://dockerhost:8080/helloworld.html,我们将得到以下预期的输出:

查看浏览器输出
赞(0) 打赏
未经允许不得转载:srcmini » docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏