有关Docker构建Answer社区时的问题?-灵析社区

你没饰八

各位大佬,在构建answer问答社区时,每次在docker构建的过程中,不论是在wsl中的Ubuntu环境中,还是本机的windows下都会出现报错 在经过几次修改后,错误变成了 ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250103/dad886f6a31534c9c55aeeb429e8f0d4.png) 以下是我的dockerfile # 阶段一:构建应用程序 FROM golang:1.19-alpine AS golang-builder LABEL maintainer="aichy@sf.com" ARG GOPROXY # ENV GOPROXY ${GOPROXY:-direct} ENV GOPROXY=https://proxy.golang.com.cn,direct ENV GOPATH /go ENV GOROOT /usr/local/go ENV PACKAGE github.com/answerdev/answer ENV BUILD_DIR ${GOPATH}/src/${PACKAGE} ENV ANSWER_MODULE ${BUILD_DIR} ARG TAGS="sqlite sqlite_unlock_notify" ENV TAGS "bindata timetzdata $TAGS" ARG CGO_EXTRA_CFLAGS COPY . ${BUILD_DIR} WORKDIR ${BUILD_DIR} RUN apk --no-cache add build-base git bash nodejs npm && npm install -g pnpm corepack \ && pnpm config set registry https://registry.npm.taobao.org \ && pnpm config set proxy http://your-proxy-url:port # 设置 pnpm 的代理,替换为你的代理信息 RUN make install-ui-packages clean build RUN chmod 755 answer RUN ["/bin/bash","-c","script/build_plugin.sh"] RUN cp answer /usr/bin/answer RUN mkdir -p /data/uploads && chmod 777 /data/uploads \ && mkdir -p /data/i18n && cp -r i18n/*.yaml /data/i18n FROM alpine LABEL maintainer="maintainers@sf.com" ENV TZ "Asia/Shanghai" RUN apk update \ && apk --no-cache add \ bash \ ca-certificates \ curl \ dumb-init \ gettext \ openssh \ sqlite \ gnupg \ && echo "Asia/Shanghai" > /etc/timezone COPY --from=golang-builder /usr/bin/answer /usr/bin/answer COPY --from=golang-builder /data /data COPY /script/entrypoint.sh /entrypoint.sh RUN chmod 755 /entrypoint.sh VOLUME /data EXPOSE 80 ENTRYPOINT ["/entrypoint.sh"]

阅读量:287

点赞量:17

问AI
明显是你的写法有问题。必须贴完整的Dockerfile看一下 我这边执行了一下,没啥大问题。疑似你的文本的换行符不对。 用文本编辑器显示下不可见的控制字符看看,比如 "cat -A Dockerfile",看看你有没有混用Windows和Unix换行符导致文件内容不能正常解析。 可以用"dos2unix"之类的工具转换一下,或者在文本编辑器设置一下换行符重新保存一次再试试