相关疑难解决方法(0)

docker ENV vs RUN导出

假设我想要结合这些命令

RUN command_1
ENV FOO bar
RUN command_2
Run Code Online (Sandbox Code Playgroud)

RUN command_1 && export FOO=bar && command_2
Run Code Online (Sandbox Code Playgroud)

并且想知道用RUN exportvs 设置变量ENV是否相同.

换句话说,Dockerfile中这些命令之间有区别吗?

ENV FOO bar
Run Code Online (Sandbox Code Playgroud)

VS

RUN export FOO=bar
Run Code Online (Sandbox Code Playgroud)

docker

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

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万
查看次数

Docker 运行错误:exec /app/backend/server:没有这样的文件或目录

我在尝试运行 Docker 容器时遇到问题。我从 Dockerfile 构建图像:

docker build -t server -f ./backend/Dockerfile .   
Run Code Online (Sandbox Code Playgroud)

运行:

docker run -it -p 8081:8081 server
Run Code Online (Sandbox Code Playgroud)

出现错误:

exec /app/backend/server: no such file or directory
Run Code Online (Sandbox Code Playgroud)

当我从 Docker Desktop 进行检查时,我会在容器内看到该文件存在,并且已按其应有的位置创建到该位置。

我还尝试从 golang:1.21-alpine更改第二阶段,但仍然遇到相同的错误。

通过FROM gcr.io/distroless/base-debian11我得到:

/app/backend/server: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /app/backend/server)
/app/backend/server: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /app/backend/server)
/app/backend/server: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /app/backend/server)
Run Code Online (Sandbox Code Playgroud)

我看了这里这里并尝试了很多东西。我对 Docker 比较陌生,不知道如何解决这个问题。有人可以帮助我了解可能导致此错误的原因以及如何解决它吗?提前致谢!

我的 Dockerfile 如下:

# Stage 1: Building the …
Run Code Online (Sandbox Code Playgroud)

linux go docker

3
推荐指数
1
解决办法
907
查看次数

标签 统计

docker ×3

docker-for-windows ×1

dockerfile ×1

go ×1

linux ×1