gpt4 book ai didi

linux - 获取/bin/sh 的权限以在生产中启动 Go 服务器 | docker-compose

转载 作者:IT王子 更新时间:2023-10-29 02:11:16 25 4
gpt4 key购买 nike

我正在我的生产服务器上运行 sudo docker-compose 来启动我的 Go 容器。我在我的生产服务器中具有 sudo 访问权限,但不是 root 用户。

错误:

go_1     | /bin/sh: ./: Permission denied

docker-compose.yml

go:
build:
context: ./api
args:
app_env: ${APP_ENV}
volumes:
- ./api:/go/src/myproject/api
expose:
- "8080"

去Dockerfile

From golang:1.8.3-alpine3.6

RUN apk update && \
apk add \
bash \
build-base \
curl \
make \
git \
&& rm -rf /var/cache/apk/*

ARG app_env
ENV APP_ENV $app_env

COPY . /go/src/myproject/api
WORKDIR /go/src/myproject/api


CMD if [ ${APP_ENV} = prod ]; \
then \
./; \
else \
go get github.com/pilu/fresh && \
fresh; \
fi


EXPOSE 8080

关于如何解决这个问题有什么想法吗?

最佳答案

如果您没有将包含 main 函数的包命名为“main”,我发现在多阶段构建中它正在构建,但它不是二进制文件。

没有明显的错误信息。

确保您的 go 代码在您的主机上构建并运行,然后再进行容器化。

关于linux - 获取/bin/sh 的权限以在生产中启动 Go 服务器 | docker-compose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46456411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com