首页 \ 问答 \ node.js操作MongoDB的实例详解

node.js操作MongoDB的实例详解

更新时间:2021-08-30 08:08

最满意答案

下面是安装 Docker 客户端并在上面运行容器的简单步骤。
1. 下载 Boot2Docker

在我们开始安装之前,我们需要 Boot2Docker 的可执行文件。可以从 它的 Github 下载最新版本的 Boot2Docker。在这篇指南中,我们从网站中下载版本 v1.6.1。我们从那网页中用我们喜欢的浏览器或者下载管理器下载了名为 docker-install.exe 的文件。

2. 安装 Boot2Docker

现在我们运行安装文件,它会安装 Window Docker 客户端、用于 Windows 的 Git(MSYS-git)、VirtualBox、Boot2Docker Linux ISO 以及 Boot2Docker 管理工具,这些对于开箱即用地运行全功能的 Docker 引擎都至关重要。

3. 运行 Boot2Docker

安装完成必要的组件之后,我们从桌面上的“Boot2Docker Start”快捷方式启动 Boot2Docker。它会要求你输入以后用于验证的 SSH 密钥。然后会启动一个配置好的用于管理在虚拟机中运行的 Docker 的 unix shell。

为了检查是否正确配置,运行下面的 docker version 命令。

docker version

4. 运行 Docker

由于 Boot2Docker Start 自动启动了一个已经正确设置好环境变量的 shell,我们可以马上开始使用 Docker。请注意,如果我们要将 Boot2Docker 作为一个远程 Docker 守护进程,那么不要在 docker 命令之前加 sudo。

现在,让我们来试试 hello-world 例子镜像,它会下载 hello-world 镜像,运行并输出 "Hello from Docker" 信息。

$ docker run hello-world

5. 使用命令提示符(CMD) 运行 Docker

现在,如果你想开始用命令提示符使用 Docker,你可以打开命令提示符(CMD.exe)。由于 Boot2Docker 要求 ssh.exe 在 PATH 中,我们需要在命令提示符中输入以下命令使得 %PATH% 环境变量中包括 Git 安装目录下的 bin 文件夹。

set PATH=%PATH%;"c:\Program Files (x86)\Git\bin"

运行上面的命令之后,我们可以在命令提示符中运行 boot2docker start 启动 Boot2Docker 虚拟机。

boot2docker start

注意: 如果你看到 machine does no exist 的错误信息,就运行 boot2docker init 命令。

然后复制上图中控制台标出命令到 cmd.exe 中为控制台窗口设置环境变量,然后我们就可以像平常一样运行 docker 容器了。

6. 使用 PowerShell 运行 Docker

为了能在 PowerShell 中运行 Docker,我们需要启动一个 PowerShell 窗口并添加 ssh.exe 到 PATH 变量。

$Env:Path="${Env:Path};c:\Program Files (x86)\Git\bin"
运行完上面的命令,我们还需要运行

boot2docker start

这会打印用于设置环境变量连接到虚拟机内部运行的 Docker 的 PowerShell 命令。我们只需要在 PowerShell 中运行这些命令就可以和平常一样运行 docker 容器。

7. 用 PUTTY 登录

Boot2Docker 会在%USERPROFILE%.ssh 目录生成和使用用于登录的公共和私有密钥,我们也需要使用这个文件夹中的私有密钥。私有密钥需要转换为 PuTTY 的格式。我们可以通过 puttygen.exe 实现。

我们需要打开 puttygen.exe 并从 %USERPROFILE%.ssh\id_boot2docker 中导入("File"->"Load" 菜单)私钥,然后点击 "Save Private Key"。然后用保存的文件通过 PuTTY 用 docker@127.0.0.1:2022 登录。

8. Boot2Docker 选项

Boot2Docker 管理工具提供了一些命令,如下所示。

其他回答

创建不了文件或文件夹,根本原因是权限不够。
目录权限的查看方式:

ls -l
drwxr-xr-x+ 17 jozh  staff   578  8 12 10:22 desktop
读写执行权限  * 用户、属组    *     *  *       *  文件或目录

权限不够的两种情况:1.不是管理员(root)账户;2.当前目录权限不够。
解决办法:1.使用root权限 sudo mkdir test;2.修改目录权限 chmod,修改目录数组 chown。

相关问答

更多
  • 下面是安装 Docker 客户端并在上面运行容器的简单步骤。 1. 下载 Boot2Docker 在我们开始安装之前,我们需要 Boot2Docker 的可执行文件。可以从 它的 Github 下载最新版本的 Boot2Docker。在这篇指南中,我们从网站中下载版本 v1.6.1。我们从那网页中用我们喜欢的浏览器或者下载管理器下载了名为 docker-install.exe 的文件。 2. 安装 Boot2Docker 现在我们运行安装文件,它会安装 Window Docker 客户端、用于 Window ...
  • 我去。那可多了去了 命令根据你安装的包不同 数量也不同 常用的cd cp mv 等等吧 太多了
  • Gcc最基本的用法是∶gcc [options] [filenames] 其中options就是编译器所需要的参数,filenames给出相关的文件名称。 -c,只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。 -o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。 -g,产生符号调试工具(GNU的gdb ...
  • Linux没有直接重置系统的命令,但是可以使用dd命令,在系统正常情况下备份系统,出现问题时还原系统, 以实现问题中的”重置“效果,具体可参考如下操作: 假设系统盘是第一块SCSI盘,设备名是/dev/sda[1,2,3,4,5,6,7] 系统还有一块数据scsi盘,设备名是/dev/sdb1,文件系统为ext3 一、备份系统 1、启动光盘插CD,按linux rescue模式启动到Shell状态 2、挂接备份用的数据盘 mkdir /mnt/1 mount /dev/sdb1 /mnt/1 3、备份系统 ...
  • 使用 linux umount命令参数 功能说明:卸除文件系统。 语  法:umount [-ahnrvV][-t ][文件系统] 补充说明:umount可卸除目前挂在Linux目录中的文件系统。 参  数: -a 卸除/etc/mtab中记录的所有文件系统。 -h 显示帮助。 -n 卸除时不要将信息存入/etc/mtab文件中。 -r 若无法成功卸除,则尝试以只读的方式重新挂入文件系统。 -t 仅卸除选项中所指定的文件系统。 -v 执行时显示详细的信息。 -V 显示版本信息。 [文件系统] 除了直接指定文 ...
  • Linux下常用的分区工具: fdisk/sfdisk:命令行工具,各种版本和环境都能使用,包含在软件包util-linux中 diskdruid:图形化分区工具,只能在安装REDHAT系统时使用。 第一步:fdisk [root@novice ~]# fdisk -l /dev/sdb Disk /dev/sdb: 254 MB, 254017536 bytes 8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors Units = ...
  • http://baike.baidu.com/view/573522.htm 看看这个,希望对你有帮助。
  • 在terminal 中连续按两下tab键,就是键盘大写键上面的那个,就可以了。是按字幕顺序排列的。 或者到 /bin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin 等目录里面去看看。
  • nslookup dig host 这三个应该都可以 cname 和 a 记录貌似不能同时存在

相关文章

更多

最新问答

更多
  • 使用通配符获取更多servlet请求变量[重复](Get more servlet request variables using wildcards [duplicate])
  • 返回相同的集合类型,参数化不同(Returning same collection type, differently parameterised)
  • C ++朋友函数模板重载和SFINAE在clang ++,g ++,vc ++中的不同行为(C ++ 14模式)(C++ friend function template overloading and SFINAE different behaviors in clang++, g++, vc++ (C++14 mode))
  • 与paure IoT-Hub的Python paho-MQTT连接(Python paho-MQTT connection with azure IoT-Hub)
  • 编译器警告“来自不同的Objective-C类型的赋值”(Compiler warning “assignment from distinct objective-c type”)
  • C ++编译错误(在此函数中未初始化)[重复](C++ Compile Error (uninitialized in this function) [duplicate])
  • unsigned-signed下溢机制(unsigned-signed underflow mechanism)
  • 快速行查询的数据结构?(Data structure for fast line queries?)
  • 饥荒有手机安卓版的吗
  • Jquery可拖动碰撞检测错误(Jquery draggable collision detection bug)
  • sql调优是怎样来实现的?
  • 无法使占位符输入文本消失(Unable to make the placeholder input text disappear)
  • jQuery改变了两个div的CSS属性(JQuery change CSS property of two div's)
  • JDK中包含的库版本(Versions of libraries included in the JDK)
  • 请问下载的是出现ASP是什么意思
  • Firebase MLkit用于数字液晶显示器的文本识别(Firebase MLkit Text recognition for digital lcd displays)
  • 我可以在任何平台上运行C和C ++吗?(Can I run C and C++ on any platform?)
  • 让小组在C#的特定位置(get panel at specific positions in C#)
  • Nagios为通知设置了更高的间隔(Nagios set higher interval for notifications)
  • 无法向SMTP主机发送电子邮件(unable to send an email to SMTP host)
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何在.NET代码中验证全球邮政编码(How can I validate worldwide postal codes in my .NET code)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • Clojure:减少大型懒惰收集会占用内存(Clojure: Reducing large lazy collection eats up memory)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • 显示作为字符串的SVG(Showing an SVG that I have as a string)
  • 从jansson库里创建json请求的自由内存的正确方式是什么?(what is the proper way of free memory in creating json request from jansson libary?)
  • jQuery插件无法正常工作 - 它是附加的(jQuery plugin not working - it's appended)
  • 使用stat_summary自动调整ylim(Automatically adjusting ylim with stat_summary)