小编xpt*_*xpt的帖子

Docker运行命令,使用相对路径时卷报错

我正在尝试从下面的 compose 文件中创建一个 docker run 和 build 命令。

到目前为止我已经想出了这个:

docker build --tag testenvironment/nodejs ./node_js
docker run -p 8080:8080 -v ./node_js:/home/app/chat -v /home/app/chat/node_modules --name nodejs testenvironment/nodejs
Run Code Online (Sandbox Code Playgroud)

我被困在这里,因为它给出了以下错误:

C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: create ./node_js: "./node_js" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intented to pass a host directory, use absolute path. See 'C:\Program Files\Docker Toolbox\docker.exe run --help'.
Run Code Online (Sandbox Code Playgroud)

撰写文件:

node:
  build: ./node_js
  command: node server.js
  depends_on:
    - mongo
  links:
    - mongo      
  environment:
    NODE_ENV: …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

5
推荐指数
1
解决办法
2121
查看次数

jq 将结果输出为 JSON

jq 是假设

处理/过滤 JSON 输入并将过滤器的结果生成为 JSON

但是,我发现经过jq处理/过滤器后,输出结果不再是 JSON 格式。

例如,https://stedolan.github.io/jq/tutorial/#result5,即

$ curl -s 'https://api.github.com/repos/stedolan/jq/commits?per_page=5' | jq '.[] | {message: .commit.message, name: .commit.committer.name}'
{
  "message": "Merge pull request #162 from stedolan/utf8-fixes\n\nUtf8 fixes. Closes #161",
  "name": "Stephen Dolan"
}
{
  "message": "Reject all overlong UTF8 sequences.",
  "name": "Stephen Dolan"
}
. . . 
Run Code Online (Sandbox Code Playgroud)

有什么解决方法吗?

更新:

如何将整个返回包装成一个 json 结构:

{ "Commits": [ {...}, {...}, {...} ] }
Run Code Online (Sandbox Code Playgroud)

我试过了:

jq '.[] | Commits: [{message: .commit.message, name: .commit.committer.name}]'
jq 'Commits: …
Run Code Online (Sandbox Code Playgroud)

json stream jq

5
推荐指数
2
解决办法
2824
查看次数

C# Newtonsoft 中的 JSON 数组迭代

如何在 C# Newtonsoft 中像下面这样遍历纯 JSON 数组?

[
  78293270,
  847744,
  32816430
]
Run Code Online (Sandbox Code Playgroud)

或者,

["aa", "bb", "cc"]
Run Code Online (Sandbox Code Playgroud)

我在 SO 上找到的所有现有答案都是 KeyValuePair 格式,而不是这种纯 JSON 数组格式。谢谢。

JArray array = JsonConvert.DeserializeObject<JArray>(json);

foreach(JObject item in array)
{
    // now what?
}
Run Code Online (Sandbox Code Playgroud)

c# arrays json json.net

5
推荐指数
1
解决办法
1703
查看次数

Gitlab CI-Auto DevOps作业失败,无法为Go项目选择构建包?

我的Gitlab CI Auto DevOps作业失败,原因是

Status: Downloaded newer image for gliderlabs/herokuish:latest
       -----> Unable to select a buildpack
ERROR: Job failed: exit code 1
Run Code Online (Sandbox Code Playgroud)

我经历了

而且仍然不确定我应该把buildpack放在哪里。

我的应该是heroku-buildpack-go,我已经不知道该从哪里得到它了。

我的仓库仅包含一个字符README.md,以及“ Hello,操场” main.go

结论:

感谢David的全面解释,我得以使用正确的buildpack来启动DevOps:

由此得出的结论是,目录树根目录下的单个.go文件不满足自动构建Go项目的激活条件。我建议在上述需求中选择一个依赖管理器,并修改您的项目以支持它。

FTA,我只是做了touch go.mod那么git addgit push和AutoDevops的确开始建设我的GO项目。

但是在我看来,Gitlab AutoDevops无法非常轻松地构建任何GO项目,因为出现以下错误(带有project变量TRACE=true):

...
        !!    The go.mod file for this project does not specify a Go version
        !!    
        !!    Defaulting to go1.11.1
        !!    
        !!    For more details see: https://devcenter.heroku.com/articles/go-apps-with-modules#build-configuration …
Run Code Online (Sandbox Code Playgroud)

go gitlab gitlab-ci

5
推荐指数
1
解决办法
1694
查看次数

ES6 传递函数作为参数示例

我不太了解 JS/ES6,无法在代码中描述我的问题。所以这个问题的大部分是概念上的和伪代码。

假设我有一个Contractor这样的课程:

class Contractor {
 constructor(jobFn) {
    // save jobFn;
  }

  dailyRoutine() {
    // let result = DriveToWork()
    const result = 6
    DoTheJob(result)
    DriveBackHome()
  }

}
Run Code Online (Sandbox Code Playgroud)

问题是,DoTheJob()在不同的地方做什么可能是不同的事情。

所以在地方 A,它可能是

he = new Contractor(write_front_end(with, this, and that))
Run Code Online (Sandbox Code Playgroud)

在 B 处,它可能是

he = new Contractor(fix_backend_node(with, express))
Run Code Online (Sandbox Code Playgroud)

即行为需要在构造函数期间传入,并且动作可能需要采用不同种类和不同数量的参数。

ES6 可以实现这样的事情吗?
请展示 ES6 代码,可以通过构造函数将不同种类和不同数量参数的函数传递给DoTheJob().

此外,挑战在于jobFn需要成为Curried函数,这意味着缺少一个或多个参数来完成这项DoTheJob工作。说如果jobFn是用Curried 传递的add(3),那么DoTheJob就会做 UncurriedAdd 的add(3, 6);如果 thenjobFn是用 …

javascript lambda functional-programming ecmascript-6

5
推荐指数
1
解决办法
3932
查看次数

NodeJS:ENAMETOOLONG,多长是太长了?

https://nodejs.org/api/os.html说:

ENAMETOOLONG 表示文件名太长。

但是,如果我要事先防止它发生的话,多长时间是太长了?

error-handling node.js

5
推荐指数
1
解决办法
5689
查看次数

如何在docker中使用主机DISPLAY

如何DISPLAY在docker中使用host?

DISPLAY在 docker 实例中进行设置,并希望将其用于我的 xapps。但这就是我得到的:

me@178887a67067:/$ env | grep DISPLAY
DISPLAY=192.168.0.102:2

me@178887a67067:/$ xterm &
[1] 11
me@178887a67067:/$ xterm: Xt error: Can't open display: 192.168.0.102:2

[1]+  Exit 1                  xterm
Run Code Online (Sandbox Code Playgroud)

如何允许 docker 中的 xapp 在DISPLAY 使用主机网络 ( --network host) 的情况下连接并使用我的主机?谢谢。

$ lsb_release -a 
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:        18.04
Codename:       bionic
Run Code Online (Sandbox Code Playgroud)

[修正]

我知道这听起来像是常见问题解答,但我已经尝试了以下网站上的所有方法,但没有一个对我有用:

使用 https://iamhow.com/How_To/Docker_How_To.html#1484268中最简单的解决方案作为示例:

$ …
Run Code Online (Sandbox Code Playgroud)

unix linux x11 ubuntu docker

5
推荐指数
1
解决办法
3644
查看次数

如何将 git diff 输出拆分为单独的文件

我想将 git diff 输出分割成单独的文件。

假设有三个已更改的文件。git diff将输出所有三个差异一次,但是有没有办法将它们分成三个单独的差异文件?

git git-diff

5
推荐指数
1
解决办法
2065
查看次数

创建此数组的 Yaml 语法

鉴于以下简单的 yaml 数据,

foo: 1
bar:
  - one
  - two
Run Code Online (Sandbox Code Playgroud)

如果我想创建一个完全相同数据结构的数组,正确的方法是什么?

我试过了

first:
  foo: 1
  bar:
    - one
    - two
    - three
second:
  foo: 2
  bar:
    - one1
    - two2
    - three3
Run Code Online (Sandbox Code Playgroud)

或者,

- foo: 1
  bar:
    - one
    - two
    - three
- foo: 2
  bar:
    - one1
    - two2
    - three3
Run Code Online (Sandbox Code Playgroud)

并且,

- first:
    foo: 1
    bar:
      - one
      - two
      - three
- second:
    foo: 2
    bar:
      - one1
      - two2
      - three3
Run Code Online (Sandbox Code Playgroud)

但似乎没有一个是正确的方法。有什么帮助吗?谢谢!

syntax yaml

4
推荐指数
1
解决办法
5124
查看次数

更改未删除的上一个git commit消息

如何更改以前未刷新的git提交消息?

更新: 问题急剧减少,以适应答案.要查看完整内容.看历史.

这样做的正确方法是什么?谢谢.

git

4
推荐指数
1
解决办法
1432
查看次数