相关疑难解决方法(0)

如何在搜索模式中使用带有sed的xargs

我需要在sed中使用命令的输出作为搜索模式.我将使用echo做一个例子,但假设这可能是一个更复杂的命令:

echo "some pattern" | xargs sed -i 's/{}/replacement/g' file.txt
Run Code Online (Sandbox Code Playgroud)

该命令不起作用,因为"某些模式"有一个空格,但我认为这清楚地说明了我的问题.

如何使该命令有效?

提前致谢,

bash replace pipeline sed

15
推荐指数
3
解决办法
3万
查看次数

使用glob模式的Docker COPY文件?

我有一个由Yarn管理的monorepo,我想利用Docker缓存层来加速我的构建,这样做我想首先复制package.jsonyarn.lock文件,运行yarn install然后复制其余的文件.

这是我的回购结构:

packages/one/package.json
packages/one/index.js
packages/two/package.json
packages/two/index.js
package.json
yarn.lock
Run Code Online (Sandbox Code Playgroud)

这是Dockerfile的感兴趣部分:

COPY package.json .
COPY yarn.lock .
COPY packages/**/package.json ./
RUN yarn install --pure-lockfile
COPY . .
Run Code Online (Sandbox Code Playgroud)

问题是第3个COPY命令没有复制任何东西,我怎样才能达到预期的效果?

docker dockerfile yarnpkg

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

docker COPY with file globbing

在dockerfile中,我想为globbing定义的文件指定一个复制操作,我希望它也可以用路径复制.所以,像这样:

COPY ./src/**/project.json /app/**/
Run Code Online (Sandbox Code Playgroud)

考虑到我有以下结构:

./src/bar/project.json
./src/foo/project.json
Run Code Online (Sandbox Code Playgroud)

目的地应如下所示:

/app/bar/project.json
/app/foo/project.json
Run Code Online (Sandbox Code Playgroud)

但显然,这不起作用,如果我有机会,我真的不想单独指定所有COPY操作.知道怎么做吗?

请注意,我基本上不能忽略其他文件.dockerignore ,因为我将在破坏软件包安装操作后从同一文件夹中复制其他文件.所以,dockerfile与此类似:

FROM microsoft/aspnet:1.0.0-rc1-update1

COPY ./src/**/project.json /app/**/
WORKDIR /app/ModernShopping.Auth
RUN ["dnu", "restore"]
ADD ./src /app

EXPOSE 44300
ENTRYPOINT ["dnx", "web"]
Run Code Online (Sandbox Code Playgroud)

linux docker dockerfile

12
推荐指数
2
解决办法
6041
查看次数

标签 统计

docker ×2

dockerfile ×2

bash ×1

linux ×1

pipeline ×1

replace ×1

sed ×1

yarnpkg ×1