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

上一章docker开发教程请查看:docker网络通信操作
这一章我们来看看如何安装常用的一些开发程序,这里主要介绍docker安装Node.js、MongoDB和Nginx。
一、docker安装Node.jsNode.js是一个用于开发服务器端应用程序的JavaScript框架,它是一个开源框架并且可以在多种操作系统上运行。由于Node.js是一个流行的开发框架,Docker也确保了它对Node.js应用程序的支持。
下面我们将看到启动和运行Node.js的Docker容器的各种步骤。
1、从Docker Hub中提取Node.js镜像
【docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程】当你登录到Docker Hub时,你将能够搜索并看到如下所示的Node.js的镜像,只需在搜索框中输入Node,然后单击出现在搜索结果中的Node(官方)链接。

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

文章图片
2、复制pull命令
你可以在Docker Hub的Node仓库详细信息页面右边看到针对node的Docker pull命令。
docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

文章图片
3、将镜像pull到docker主机上
在Docker主机上使用上面所示的Docker pull命令从Docker Hub下载最新的节点镜像,一旦pull命令完成,我们就可以进行下一步。
docker安装Node.js、MongoDB和Nginx详细步骤全解——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脚本。
docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

文章图片
二、docker安装MongoDBMongoDB是一个著名的面向文档的数据库,许多现代web应用程序都使用它。由于MongoDB是一个流行的开发数据库,Docker也保证了它对MongoDB的支持。
下面我们将看到启动和运行MongoDB的Docker容器的各种步骤。
1、从Docker Hub中提取mongodb镜像
当你登录到Docker Hub时,你将能够搜索并看到如下所示的Mongo镜像。只要在搜索框中输入Mongo,然后点击在搜索结果中出现的Mongo(官方)链接。
docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

文章图片
2、复制pull命令
你将会在Docker Hub的存储库的详细信息页右边中看到针对Mongo的Docker pull命令。
docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

文章图片
3、将mongodb pull到本地
在Docker主机上使用上面所示的Docker pull命令从Docker Hub下载最新的Mongo镜像。
docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

文章图片
4、运行mongodb
现在我们有了Mongo的镜像,让我们首先运行一个MongoDB容器,它将是我们的MongoDB实例,为此我们将执行以下命令:
sudo docker run -it -d mongo

关于上述命令,可以注意到以下几点
(1)-it选项用于以交互模式运行容器。
(2)d选项用于将容器作为守护进程运行。
(3)最后我们从Mongo镜像创建一个容器。
然后可以执行docker ps命令来查看正在运行的容器
docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

文章图片
请注意以下几点:
  • 容器的名称是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。
docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

文章图片
6、使用env命令获取信息
在新容器中运行env命令,查看如何连接到MongoDB服务器容器的详细信息。
ENV命令和新容器
docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

文章图片
7、从客户的连接到mongodb服务器
现在是时候从客户机容器连接到MongoDB服务器了,我们可以通过下面的命令来做到这一点:
mongo 172.17.0.3:27017

关于上述命令,需要注意以下几点
  • mongo命令是用于连接到MongoDB数据库的客户端mongo命令。
  • IP和端口号是在使用env命令时获得的。
运行该命令后,你将连接到MongoDB数据库。
docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

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

这个命令是一个MongoDB命令,用于切换到一个数据库名称demo,如果数据库不可用则将创建它。
docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

文章图片
现在为止你已经成功地创建了客户机和服务器MongoDB容器。
三、docker安装NginxNGINX是一个流行的轻量级web应用程序,用于开发服务器端应用程序。它是一个开放源代码的web服务器,可以在各种操作系统上运行。由于nginx是一个流行的web服务器开发,Docker已经确保它支持nginx。
现在,我们将看到启动和运行nginx的Docker容器的各种步骤。
1、从Docker Hub中提取镜像
当你登录到Docker Hub时,你将能够搜索并查看nginx的镜像,如下所示只需在搜索框中输入nginx,然后点击出现在搜索结果中的nginx(官方)链接。
docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

文章图片
2、复制pull命令
你可以在Docker Hub的仓库详情页右边看到针对nginx的Docker pull命令。
docker pull nginx

3、将nginx镜像下载到docker主机
在Docker主机上使用上面所示的Docker pull命令从Docker Hub下载最新的nginx镜像。
docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

文章图片
4、运行nginx容器
现在让我们通过以下命令运行nginx容器。
sudo docker run -p 8080:80 -d nginx

我们将nginx服务器上的端口80暴露给Docker主机上的端口8080。
运行该命令后,如果你浏览到URL http://dockerhost:8080,你将得到以下输出。这表明nginx容器已经启动并正在运行。
docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

文章图片
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文件的地方。
docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

文章图片
现在如果我们浏览到URL http://dockerhost:8080/helloworld.html,我们将得到以下预期的输出:
docker安装Node.js、MongoDB和Nginx详细步骤全解——docker开发教程

文章图片

    推荐阅读