0

Kubernetes 的本地设置:Mac OS

Docker for desktop >> kubernetes >> traefik >> Gitea 

gitea 安装在集群中,并通过http://gitea.local访问的 treafik 公开为 clusterIP 服务入口。直到这里,一切都像黄油一样光滑。

疼痛:

现在我正在创建一个 dockerfile 并使用 docker build 来构建一个图像。此 dockerfile 正在尝试从http://gitea.local克隆存储库。问题是我总是被拒绝连接。

RUN mkdir -p apps sites/assets/css  \
    && cd apps \
    && git clone http://gitea.local/inviadmin/testing.git

然后我只是尝试RUN curl http://gitea.local从 dockerfile 内部进行调试并得到相同的结果:

curl: (7) Failed to connect to gitea.local port 80: Connection refused

如果我google.com从 dockerfile 卷曲它的工作。非常感谢任何帮助。

Dockerfile:

# syntax = docker/dockerfile:1.0-experimental

FROM bitnami/python:3.7-prod

ENV NVM_DIR=/root/.nvm
ENV NODE_VERSION=12.18.3
ENV PATH="/root/.nvm/versions/node/v${NODE_VERSION}/bin/:${PATH}"
RUN install_packages wget \
    && wget https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh \
    && chmod +x install.sh \
    && ./install.sh \
    && . "$NVM_DIR/nvm.sh" && nvm install ${NODE_VERSION} \
    && nvm use v${NODE_VERSION} && npm install -g yarn

RUN install_packages \
    # when using ssh
    git openssh-client openssh-server iputils-ping
    #git

ARG GIT_BRANCH=master

#RUN ping host.docker.internal

RUN mkdir -p apps sites/assets/css  \
    && cd apps \
    && git clone http://gitea.local/inviadmin/test.git --branch $GIT_BRANCH

FROM nginx:latest
COPY --from=0 /home/test/sample/sites /var/www/html/
COPY --from=0 /var/www/error_pages /var/www/
COPY build/nginx/nginx-default.conf.template /etc/nginx/conf.d/default.conf.template
COPY build/entry/docker-entrypoint.sh /

RUN apt-get update && apt-get install -y rsync && apt-get clean \
    && echo "#!/bin/bash" > /rsync \
    && chmod +x /rsync

VOLUME [ "/assets" ]

ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["nginx", "-g", "daemon off;"]
4

1 回答 1

0

我测试了你的 dockerfile,结果如下在此处输入图像描述

由于您遇到的唯一问题是 git pull,因此我选择仅使用以下几行。 在此处输入图像描述

从构建中注意到,向 /etc/hosts 添加条目是如何对以下命令生效的。如果问题仍然存在,那么我建议您开始查看 gitea 容器的日志。

于 2020-08-10T19:07:38.823 回答