假设我想要结合这些命令
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) 当我在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 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)