本文将为您提供关于phpexec()某个shell结果出错,原因是php中的grep只能处理文本流,二进制流不行_PHP教程的详细介绍,同时,我们还将为您提供关于cgo:execgcc:exec:"g
本文将为您提供关于php exec()某个shell结果出错,原因是php中的 grep只能处理文本流,二进制流不行_PHP教程的详细介绍,同时,我们还将为您提供关于cgo: exec gcc: exec: "gcc": 在 $PATH 中找不到可执行文件 Egress operator 安装错误、docker - 进入容器报错:OCI runtime exec failed: exec failed: container_linux.go:370: starting container pro、Docker buildx with node app on Apple M1 Silicon - standard_init_linux.go:211:exec 用户进程导致“exec 格式错误”、Docker 镜像执行 golang 可执行文件:exec /usr/local/go/bin/go: exec 格式错误的实用信息。
本文目录一览:- php exec()某个shell结果出错,原因是php中的 grep只能处理文本流,二进制流不行_PHP教程
- cgo: exec gcc: exec: "gcc": 在 $PATH 中找不到可执行文件 Egress operator 安装错误
- docker - 进入容器报错:OCI runtime exec failed: exec failed: container_linux.go:370: starting container pro
- Docker buildx with node app on Apple M1 Silicon - standard_init_linux.go:211:exec 用户进程导致“exec 格式错误”
- Docker 镜像执行 golang 可执行文件:exec /usr/local/go/bin/go: exec 格式错误
php exec()某个shell结果出错,原因是php中的 grep只能处理文本流,二进制流不行_PHP教程
cat aa.txt | grep ''startup'' |wc-l
cgo: exec gcc: exec: "gcc": 在 $PATH 中找不到可执行文件 Egress operator 安装错误
如何解决cgo: exec gcc: exec: "gcc": 在 $PATH 中找不到可执行文件 Egress operator 安装错误?
我正在尝试使用 Egress Operator 来限制基于域的出口调用。我正在使用 Ubuntu 18
Hyper-V VM 并且我拥有所有 prerequisites:
- 用于推送图像的 Azure 存储库
-
Kubebuilder
用于代码生成 -
Kustomize
用于构建 Kubernetes 清单 -
coredns
(默认使用 k3s)pod 正在运行 -
Golang
:go version go1.16.5 linux/amd64
但是当 Testing locally make run
给出以下错误时:
root@Ubuntu18-Virtual-Machine:~/egress-operator# make run
go: creating new go.mod: module tmp
go get: added sigs.k8s.io/controller-tools v0.2.4
/root/go/bin/controller-gen object:headerFile=./hack/boilerplate.go.txt paths="./..."
Error: go [list -e -json -compiled=true -test=false -export=false -deps=true -find=false -tags ignore_autogenerated -- ./...]: exit status 2: # runtime/cgo
cgo: exec gcc: exec: "gcc": executable file not found in $PATH
同样在 ConfigMap 中编辑 coredns 部署和 coredns 核心文件后,如 coredns plugin setup 中所述,我在执行 make deploy
命令时看到错误:
root@Ubuntu18-Virtual-Machine:~/egress-operator# make deploy IMG=MY_REPO/egress-operator:v0.1
go: creating new go.mod: module tmp
go get: added sigs.k8s.io/controller-tools v0.2.4
/root/go/bin/controller-gen "crd:trivialVersions=true" rbac:roleName=manager-role webhook paths="./..." output:crd:artifacts:config=config/crd/bases
Error: go [list -e -json -compiled=true -test=false -export=false -deps=true -find=false -tags ignore_autogenerated -- ./...]: exit status 2: # runtime/cgo
cgo: exec gcc: exec: "gcc": executable file not found in $PATH
谁能告诉我如何解决这个问题?
解决方法
您的环境似乎没有安装 gcc 编译器。请尝试以下操作:
sudo apt-get install build-essential
或
sudo apt-get build-dep gcc
然后检查是否安装成功:
gcc --version
另见此similar problem。
docker - 进入容器报错:OCI runtime exec failed: exec failed: container_linux.go:370: starting container pro
使用 docker exec -it Nginx /bin/bash 提示错误@H_301_1@
OCI runtime exec Failed: exec Failed: container_linux.go:370: starting container process caused: exec: "/bin/bash": stat /bin/bash: no such file or directory: unkNown@H_301_1@
@H_301_1@
解决办法:@H_301_1@
docker exec -it Nginx /bin/sh@H_301_1@
Docker buildx with node app on Apple M1 Silicon - standard_init_linux.go:211:exec 用户进程导致“exec 格式错误”
如何解决Docker buildx with node app on Apple M1 Silicon - standard_init_linux.go:211:exec 用户进程导致“exec 格式错误”
请帮忙!
我正在尝试将 docker 映像部署到 kuebernetes 集群。没问题,直到我切换到带有 M1 的新 Macbook Pro。
在 m1 机器上构建映像并部署后,我从 kuebernetes pod 收到以下错误:
standard_init_linux.go:211: exec user process caused "exec format error"
在做了一些研究之后,我关注了 this 中关于添加和设置 docker buildx
的帖子。
一旦我使用新的 buildx 构建了一个新映像并使用 docker 桌面(与 m1 兼容的预览版)在本地运行它,它就可以正常运行。但是 kubernetes pod 仍然显示相同的错误。
standard_init_linux.go:211: exec user process caused "exec format error"
我的构建命令docker buildx use m1_builder && docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 -f Dockerfile -t ${myDockerRepo} --push . ''
在构建过程中,我看到每个平台都注销了它正在运行来自我的 Dockerfile 的命令。
我的推送命令docker push ${myDockerRepo}
需要注意的一件奇怪的事情是 docker push 命令响应中的 sha256 摘要没有改变。
这是我的 docker 文件:
# Use an official Node runtime as a parent image
FROM node:10-alpine
# copy the current directory contents into the container at /app
copY dist /app
# Set the working directory to /app
workdir /app
# Make port 8000 available to the world outside this container
EXPOSE 8000
# Run npm run serve:dynamic when the container launches
CMD ["node","server"]
显然,我不是 Docker 专家。 从满头的头发开始。下降到 3 股。请保存那 3 条线。
感谢所有帮助和建议!
更新
我已将 M1 macbook 构建的映像拉到我的另一台 macbook 上,并且可以通过 docker 桌面在本地运行该映像。我不确定这意味着什么。难道这只是一个 kuebernetes 设置?
解决方法
尝试将 --platform=linux/amd64 添加到您的 dockerfile:
FROM --platform=linux/amd64 node:10-alpine
Docker 镜像执行 golang 可执行文件:exec /usr/local/go/bin/go: exec 格式错误
php小编苹果在使用Docker时可能会遇到一个常见的错误: "Docker 镜像执行 golang 可执行文件:exec /usr/local/go/bin/go: exec 格式错误"。这个错误通常是由于镜像中的golang可执行文件没有正确执行所导致的。解决这个问题的方法有很多,包括检查golang可执行文件的权限、查看可执行文件是否可访问、检查执行文件的路径是否正确等。通过解决这个问题,可以确保在Docker中正确执行golang可执行文件,提高代码开发的效率和稳定性。
问题内容
我知道如果 go 可执行文件要在另一台计算机上运行,我需要指定它的目标平台。我正在使用 m1 芯片在苹果机器上构建 docker 映像:
dockerfile
from --platform=linux/amd64 golang:alpine as build workdir / add go.mod . add go.sum . run go mod download copy . . run cgo_enabled=0 goos=linux goarch=amd64 go build -ldflags="-s -w" -o . from --platform=linux/amd64 scratch workdir /app copy --from=build /foo /foo cmd ["./foo"]
这似乎有效,因为在构建输出后检查容器
立即学习“go语言免费学习笔记(深入)”;
"architecture": "amd64", "os": "linux"
但是当我现在使用 docker-compose 在 linux 服务器上启动映像时,出现错误: exec /usr/local/go/bin/go: exec format error
docker-compose.yml
foo: environment: - PORT=${PORT} image: docker.io/name/foo platform: linux/amd64 ports: - "8000:8000" restart: always
我对 docker 还很陌生,所以我想我在这里遗漏了一些非常明显的东西。
解决方法
首先,我可以确认您已成功构建 amd64 二进制文件,因此这不是 go 问题。
如果我运行您的映像(在 amd64 linux 系统上),我不会收到您报告的相同错误。鉴于此 docker-compose.yaml:
foo: environment: - port=${port} image: docker.io/chedched/foo platform: linux/amd64 ports: - "8000:8000" restart: always
运行 docker-compose up 时,我看到:
error: for images_foo_1 cannot start service foo: failed to create shim task: oci runtime create failed: runc create failed: unable to start container process: exec: "./foo": stat ./foo: no such file or directory: unknown
发生这种情况是因为您设置了 workdir /app,这使得 app 成为映像中的当前工作目录,但您已将二进制文件安装为 /foo。您需要:
更改您的 cmd 以引用正确的位置:
cmd ["/foo"]
登录后复制或者...
在 /app 中安装二进制文件:
COPY --from=build /foo ./foo
登录后复制通过这些更改中的任何一个,图像都会按预期运行。
以上就是Docker 镜像执行 golang 可执行文件:exec /usr/local/go/bin/go: exec 格式错误的详细内容,更多请关注php中文网其它相关文章!
关于php exec()某个shell结果出错,原因是php中的 grep只能处理文本流,二进制流不行_PHP教程的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于cgo: exec gcc: exec: "gcc": 在 $PATH 中找不到可执行文件 Egress operator 安装错误、docker - 进入容器报错:OCI runtime exec failed: exec failed: container_linux.go:370: starting container pro、Docker buildx with node app on Apple M1 Silicon - standard_init_linux.go:211:exec 用户进程导致“exec 格式错误”、Docker 镜像执行 golang 可执行文件:exec /usr/local/go/bin/go: exec 格式错误的相关知识,请在本站寻找。
本文标签: