当我在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) 我正在尝试创建一个 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”存储库?
如何在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。我的假设是错误的吗?
我最近转向了 GitHub Action。尝试了几天,但可以找到合适的解决方案。
JOB1我正在构建Image A并使用Image A作为基础图像来构建Image B.Image B将充当Image C在 JOB2 和Image DJob3 中构建的基础映像。我已经尝试过这两种解决方案,但它们不起作用。
尝试上述解决方案时遇到的一些错误:
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 工作流程示例
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)
但我不明白组在这里意味着什么,并发不是取消或跳过而是使构建失败。情况不应该是这样。我在这里错过了什么吗?
我正在使用下面的转换模式
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然后替换
各位,我正在从 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 命令显示它。有人可以帮助我正确的语法吗?
我有 3 个布尔变量 a、b 和 c。在 bash 中编写 if else 条件(或更好的方法)以覆盖所有组合的最佳方法是什么(参见图片)。
例如: a=y,b=y 和 c=y 然后 echofoo
我可以编写多个 elseif 条件,但是有其他方法吗?
下面是我的 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 依赖项
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) docker ×3
bash ×1
dockerfile ×1
github ×1
gitlab ×1
gitlab-ci ×1
grafana-loki ×1
log4j ×1
log4j2 ×1