小编gam*_*r17的帖子

standard_init_linux.go:190:exec用户进程导致"没有这样的文件或目录"--Docker

当我在Windows 10上运行我的docker镜像时,我收到此错误:

standard_init_linux.go:190: exec user process caused "no such file or directory"
Run Code Online (Sandbox Code Playgroud)

我的docker文件是:

FROM openjdk:8

EXPOSE 8080

VOLUME /tmp

ADD appagent.tar.gz /opt/app-agent
ADD services.jar app.jar
ADD run.sh /run.sh

# Install compiler and perl stuff
RUN apt-get update
RUN apt-get install -y build-essential
RUN apt-get install -y gcc-multilib
RUN apt-get install -y perl

# Install Percona Toolkit
RUN apt-get install --yes percona-toolkit
RUN ["chmod", "+x", "/run.sh"]
ENTRYPOINT ["/run.sh"]
Run Code Online (Sandbox Code Playgroud)

并且脚本以#!/ bin/sh开头

#!/bin/sh
set -e

JAVA_OPTS="-Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/urandom"

if [ "${APPD_APP_NAME}" != …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile docker-for-windows

44
推荐指数
12
解决办法
4万
查看次数

如何使用 Github Actions 自动生成发行说明并创建发行版

我正在尝试创建一个 Github Action 作业,它将自动生成发行说明并根据该说明创建发行版。我找到了一个名为“actions/create-release”的操作,但它只适用于创建版本,并没有提供自动生成版本说明的方法。

  - name: Create-Release
    id: release
    uses: actions/create-release@v1
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    with:
      tag_name: "${{ env.ver }}"
      release_name: "${{ env.ver }}"
      draft: false
      prerelease: false
Run Code Online (Sandbox Code Playgroud)

此外,我还了解到“actions/create-release”存储库现已过时,并且不会为其提供进一步的更新。因此,我正在寻找替代解决方案来实现我的目标。

使用 Github Actions 自动生成发行说明并创建发行版的最佳方法是什么?是否有任何推荐的操作或工作流程可以实现此目的,而无需依赖现已过时的“actions/create-release”存储库?

github-actions

14
推荐指数
1
解决办法
7435
查看次数

如何在 gitlab-ci.yml 中将文件从存储库复制到用于作业的 Docker 容器中

如何在gitlab-ci作业中使用我的项目将文件添加到 Docker 中。假设我的.gitlab-ci.yml.

build:master:
  image: ubuntu:latest
  script:
    - cp sample.txt /sample.txt
  stage: build
  only:
    - master
Run Code Online (Sandbox Code Playgroud)

如何在 Ubuntu 映像中复制 sample.txt?我在想,因为它已经是一个正在运行的容器,所以我们不能直接执行复制命令,而必须运行

docker cp sample.txt mycontainerID:/sample.txt
Run Code Online (Sandbox Code Playgroud)

但我将如何获得 mycontainerID ?因为它将在 Gitlab runner 中运行,并且每次运行都会分配任何随机 id。我的假设是错误的吗?

gitlab docker gitlab-ci

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

如何在 github actions 中的作业之间共享 docker 镜像

我最近转向了 GitHub Action。尝试了几天,但可以找到合适的解决方案。

在此输入图像描述

  • JOB1我正在构建Image A并使用Image A作为基础图像来构建Image B.
  • 现在Image B将充当Image C在 JOB2 和Image DJob3 中构建的基础映像。

我已经尝试过这两种解决方案,但它们不起作用。

  1. https://github.com/docker/build-push-action/issues/225#issuecomment-727639184
  2. https://evilmartians.com/chronicles/build-images-on-github-actions-with-docker-layer-caching

尝试上述解决方案时遇到的一些错误:

Error: buildx failed with: error: failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed
Run Code Online (Sandbox Code Playgroud)

github-actions

7
推荐指数
0
解决办法
1539
查看次数

当触发新管道时取消之前的管道 GitHub Actions

我遇到了拦截器,我确信其他人一定也遇到过这个问题,所以只需检查是否有任何解决方法。

这是一个 Github 工作流程示例

name: Test Build
on:
  pull_request:
    types: [opened, synchronize, reopened]

jobs:
  app-1:
    runs-on: ubuntu-latest
    steps:
      - name: App-1
        run: echo "test1"
  app-2:
    runs-on: ubuntu-latest
    steps:
      - name: App-2
        run: echo "test1"
Run Code Online (Sandbox Code Playgroud)

现在,如果我多次提交,它将触发多个构建,这些构建将相互冲突并使管道失败。有没有办法可以取消该特定 PR 的正在运行的构建?

我看到有一个选择

concurrency: 
  group: CI-${GITHUB_REF#refs/heads/}
  cancel-in-progress: true
Run Code Online (Sandbox Code Playgroud)

但我不明白组在这里意味着什么,并发不是取消或跳过而是使构建失败。情况不应该是这样。我在这里错过了什么吗?

github-actions

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

如何从 log4j 日志消息中删除或替换换行符

我正在使用下面的转换模式

log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS Z}  [%t] %-5p %c- %m%n
Run Code Online (Sandbox Code Playgroud)

但我想删除新行字符。

我尝试过使用%replace(%ex){'[\r\n]+', '\\n'}%nopex%n

但它不起作用 %replace 不起作用。它只读取%r然后替换

log4j log4j2

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

如何在构建 Docker 映像时显示/打印文件

各位,我正在从 Dockerfile 构建 Docker 映像,我陷入了一个愚蠢的位置,我正在使用 sed 更新 yaml 文件。

RUN sed -i -e "s@\$REPLACEMENT_TAG@$PM_SERVER_DOCKER_TAG@" /qa.yaml
Run Code Online (Sandbox Code Playgroud)

在此步骤之后,我需要在构建 docker 映像时在输出控制台上显示 yaml 文件,但我无法通过 echo 命令显示它。有人可以帮助我正确的语法吗?

docker

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

为 3 个布尔变量编写 if else 条件的最佳方法是什么

我有 3 个布尔变量 a、b 和 c。在 bash 中编写 if else 条件(或更好的方法)以覆盖所有组合的最佳方法是什么(参见图片)。

例如: a=y,b=y 和 c=y 然后 echofoo

在此输入图像描述

我可以编写多个 elseif 条件,但是有其他方法吗?

bash

3
推荐指数
2
解决办法
140
查看次数

如何在 GitHub 操作中缓存 npm 依赖项?

下面是我的 dockerfile。有没有办法在 GitHub 操作中缓存 npm?

FROM node
WORKDIR /app
ADD package*.json ./
RUN npm ci
ENV PATH /app/node_modules/.bin:$PATH
Run Code Online (Sandbox Code Playgroud)

我的 GitHub 操作:

name: NPM buid

on:
  push:
    branches:
      - main
jobs:
  build-npm-image:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Build and Tag Node image
        id: build-ui-image
        run: |
          export DOCKER_BUILDKIT=1
          docker build -t ui -f ./ui/Dockerfile .
Run Code Online (Sandbox Code Playgroud)

PS 我不想缓存 docker 镜像。上面的 docker 文件仅作为示例使用。反对的是缓存 npm 依赖项

github github-actions

2
推荐指数
1
解决办法
4702
查看次数

Promtail 无法将日志发送到 Grafana

Promtail 给我这个错误。直到昨天为止都运行良好。

level=warn ts=2022-03-31T17:57:10.266631785Z caller=client.go:349 component=client host=loki-gateway msg="error sending batch, will retry" status=-1 error="Post \"http://loki-gateway/loki/api/v1/push\": dial tcp: lookup loki-gateway on 10.100.0.10:53: no such host"
Run Code Online (Sandbox Code Playgroud)

洛基日志:

level=info ts=2022-03-31T17:58:05.469740401Z caller=compactor.go:263 msg="compactor is ACTIVE in the ring"
level=info ts=2022-03-31T17:58:05.487108207Z caller=scheduler.go:629 msg="scheduler is ACTIVE in the ring"
level=info ts=2022-03-31T17:58:05.487260134Z caller=module_service.go:64 msg=initialising module=querier
level=info ts=2022-03-31T17:58:05.487330504Z caller=module_service.go:64 msg=initialising module=query-frontend
level=info ts=2022-03-31T17:58:05.48759267Z caller=loki.go:355 msg="Loki started"
level=info ts=2022-03-31T17:58:08.487541256Z caller=worker.go:205 msg="adding connection" addr=172.17.48.142:9095
level=info ts=2022-03-31T17:58:08.487819299Z caller=scheduler.go:663 msg="this scheduler is in the ReplicationSet, will now accept requests."
level=info ts=2022-03-31T17:58:10.470544823Z caller=compactor.go:305 …
Run Code Online (Sandbox Code Playgroud)

grafana-loki

2
推荐指数
1
解决办法
5333
查看次数