小编Gol*_*den的帖子

Dockerfile中CMD和ENTRYPOINT有什么区别?

在Dockerfiles中有两个看起来与我类似的命令:CMDENTRYPOINT.但是我猜它们之间存在着一种(微妙的?)差异 - 否则对于同样的事情来说两个命令就没有任何意义.

文档说明了 CMD

CMD的主要目的是为执行容器提供默认值.

并为ENTRYPOINT:

ENTRYPOINT可帮助您配置可作为可执行文件运行的容器.

那么,这两个命令之间的区别是什么?

docker

1484
推荐指数
14
解决办法
44万
查看次数

在Docker中,容器和图像之间有什么区别?

Docker中的容器和图像有什么区别?在入门Docker教程中,这些术语都被使用,但我不明白其中的区别.

任何人都可以解释一下吗?

terminology docker

299
推荐指数
7
解决办法
8万
查看次数

如何在Docker中创建命名和最新标记?

假设我有一个我想要标记的图像0.10.24(在我的例子中,它是一个包含Node.js 0.10.24的图像).我使用Dockerfile构建该图像并执行docker build并使用-t参数提供标记.

我希望有一天我会有该图像的其他版本,所以我将重新运行该过程,只需使用另一个标记名称.

到现在为止还挺好.这很好,很好,一切都很好.

但是,这就是问题开始的地方,我还希望latest另外还有最新的图像标记广告.所以我想我需要给同一个图像赋予两个名字.

我该怎么做呢?我是否真的需要重新运行docker build完全相同的版本,但这次使用另一个标签,是否有更好的选择?

tags docker

210
推荐指数
7
解决办法
18万
查看次数

SSH到Windows中的Vagrant框?

我正在使用Vagrant在Windows中启动VirtualBox VM.在其他平台上,我可以

$ vagrant ssh
Run Code Online (Sandbox Code Playgroud)

连接到VM.

如何在Windows中连接到此Vagrant框?

在Vagrant文​​档中建议使用PuTTy的方式也不起作用:

http://docs-v1.vagrantup.com/v1/docs/getting-started/ssh.html

windows ssh virtualbox virtual-machine vagrant

170
推荐指数
7
解决办法
16万
查看次数

向Docker添加卷,但排除子文件夹

假设我的主机上有一个Docker容器和一个文件夹/hostFolder.现在,如果我要对这个文件夹添加到多克尔容器的体积,那么我可以通过使用这样做ADDDockerfile或安装它作为一个音量.

到现在为止还挺好.

现在/hostFolder包含一个子文件夹/hostFolder/subFolder.

我想挂载/hostFolder到泊坞容器(无论是读写或只读并不重要,无论是对我的作品),但我希望把它列入/hostFolder/subFolder.我想排除这个,我也希望Docker容器能够对这个子文件夹进行更改,而不会在主机上更改它.

这可能吗?如果是这样,怎么样?

docker dockerfile

170
推荐指数
9
解决办法
6万
查看次数

如何在Express中获取所有注册路线?

我有一个使用Node.js和Express构建的Web应用程序.现在我想用适当的方法列出所有注册的路线.

例如,如果我已经执行了

app.get('/', function (...) { ... });
app.get('/foo/:id', function (...) { ... });
app.post('/foo/:id', function (...) { ... });
Run Code Online (Sandbox Code Playgroud)

我想检索一个对象(或类似的对象),例如:

{
  get: [ '/', '/foo/:id' ],
  post: [ '/foo/:id' ]
}
Run Code Online (Sandbox Code Playgroud)

这是可能的,如果是的话,怎么样?


更新:同时,我创建了一个名为get-routes的npm包,它从给定的应用程序中提取路由,解决了这个问题.目前,仅支持Express 4.x,但我想现在这很好.仅供参考.

node.js express

163
推荐指数
14
解决办法
9万
查看次数

npm在特定版本中从Git安装

假设我已经为Node.js编写了一个模块,我想保密.我知道我可以(应该)添加这一行:

"private": "true"
Run Code Online (Sandbox Code Playgroud)

package.json文件,我也知道我可以npm install使用文件系统路径或git存储库的链接,包括GitHub.

我也知道我可以将这样的文件系统路径或链接到git repo中package.json,这样该dependencies部分可能看起来像这样:

"dependencies": {
  "myprivatemodule": "git@github.com:..."
}
Run Code Online (Sandbox Code Playgroud)

我现在想要的不是链接到最新版本,而是链接到特定版本.我知道的唯一可能是使用其ID链接到特定的提交.但是这比使用诸如的版本号更不易读,也更难以维护0.3.1.

所以我的问题是:是否有可能指定这样的版本号并使npm搜索git存储库以获取包含此版本的最新提交?

如果没有,您如何在项目中解决此问题?您是否使用提交ID或者是否有更好的解决方案?

node.js npm

158
推荐指数
6
解决办法
14万
查看次数

如何将Node.js应用程序部署为单个可执行文件?

假设我编写了一个Node.js应用程序,现在我想分发它.当然,我想让用户轻松,因此我不希望他安装Node.js,运行npm install然后手动输入node app.js.

我更喜欢的是单个可执行文件,例如.exeWindows上的文件.

我怎么能接近这个?

我知道这个帖子,无论如何这只是关于Windows.我怎样才能以独立于平台的方式实现这一目标?有任何想法吗?最佳做法?...?

完美的解决方案是我可以提供源文件夹的"编译器".源文件夹包含应用程序本身的各种.js文件,node_modules文件夹和一些元数据,如package.json.输出应该是各种平台的二进制文件,例如Windows,OS X和Linux.

哦,重要的是:我不想对源代码进行任何更改,因此require使用相对路径调用应该仍然有效,即使此相对路径现在位于打包的应用程序中.

有任何想法吗?

PS:我不希望用户独立安装Node.js,它也应该包含在可执行文件中.

deployment node.js

132
推荐指数
6
解决办法
11万
查看次数

如何将仅数据卷从一个主机移植到另一个主机?

正如关于使用卷的Docker文档中所描述的那样,所谓的仅数据容器的概念,无论仅数据容器是否实际运行,它都提供可以挂载到多个其他容器的卷.

基本上,这听起来很棒.但有一件事我不明白.

这些卷(由于可移植性原因而未显式映射到主机上的文件夹,如文档所述)由Docker在host(/var/docker/volumes/…)上的某个内部文件夹中创建和管理.

假设我使用这样的卷,然后我需要将它从一个主机迁移到另一个主机 - 如何移植卷?AFAICS它有一个唯一的ID - 我可以将卷及其仅数据容器复制到新主机吗?如何找出要复制的文件?或者是否有一些内置于Docker的支持我还没有发现?

docker

111
推荐指数
5
解决办法
6万
查看次数

在AngularJS中,ng-pristine和ng-dirty之间有什么区别?

ng-pristine和之间有什么区别ng-dirty?看起来你可以两个都是true:

$scope.myForm.$pristine = true; // after editing the form
Run Code Online (Sandbox Code Playgroud)

angularjs

101
推荐指数
4
解决办法
13万
查看次数