尝试将clickhouse堆栈部署到docker swarm,出现错误:service builder未能生成:复制失败

uinbv5nw  于 2021-07-15  发布在  ClickHouse
关注(0)|答案(1)|浏览(576)

我在学习DockerSwarm的过程中,我有一个三节点的nuc设置,运行在Ubuntu16.04上的DockerSwarm。我希望使用以下官方图片构建一个2节点clickhouse群集:
https://hub.docker.com/r/yandex/clickhouse-server/dockerfile
我可以在一个节点上以映像的形式轻松地运行它,但我正在尝试将docker映像部署到其中的两个节点,以便使用以下文档从那里构建集群:
https://docs.docker.com/engine/swarm/stack-deploy/
但我在运行时遇到以下错误 docker-compose up -d :

  1. ERROR: Service 'builder' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder795701575/docker_related_config.xml: no such file or directory

目录Map:

  1. my_app
  2. ----docker-compose.yml
  3. ----docker
  4. -------client
  5. -------server
  6. -------builder
  7. --Dockerfile

dockerfile文件:https://hub.docker.com/r/yandex/clickhouse-server/dockerfile

  1. FROM ubuntu:18.04
  2. ARG repository="deb http://repo.yandex.ru/clickhouse/deb/stable/ main/"
  3. ARG version=19.1.13
  4. ARG gosu_ver=1.10
  5. RUN apt-get update \
  6. && apt-get install --yes --no-install-recommends \
  7. apt-transport-https \
  8. dirmngr \
  9. gnupg \
  10. && mkdir -p /etc/apt/sources.list.d \
  11. && apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4 \
  12. && echo $repository > /etc/apt/sources.list.d/clickhouse.list \
  13. && apt-get update \
  14. && env DEBIAN_FRONTEND=noninteractive \
  15. apt-get install --allow-unauthenticated --yes --no-install-recommends \
  16. clickhouse-common-static=$version \
  17. clickhouse-client=$version \
  18. clickhouse-server=$version \
  19. libgcc-7-dev \
  20. locales \
  21. tzdata \
  22. wget \
  23. && rm -rf \
  24. /var/lib/apt/lists/* \
  25. /var/cache/debconf \
  26. /tmp/* \
  27. && apt-get clean
  28. ADD https://github.com/tianon/gosu/releases/download/1.10/gosu-amd64 /bin/gosu
  29. RUN locale-gen en_US.UTF-8
  30. ENV LANG en_US.UTF-8
  31. ENV LANGUAGE en_US:en
  32. ENV LC_ALL en_US.UTF-8
  33. RUN mkdir /docker-entrypoint-initdb.d
  34. COPY docker_related_config.xml /etc/clickhouse-server/config.d/
  35. COPY entrypoint.sh /entrypoint.sh
  36. RUN chmod +x \
  37. /entrypoint.sh \
  38. /bin/gosu
  39. EXPOSE 9000 8123 9009
  40. VOLUME /var/lib/clickhouse
  41. ENV CLICKHOUSE_CONFIG /etc/clickhouse-server/config.xml
  42. ENTRYPOINT ["/entrypoint.sh"]

docker-compose.yml公司https://github.com/yandex/clickhouse/blob/master/docker-compose.yml

  1. version: "2"
  2. services:
  3. builder:
  4. image: yandex/clickhouse-builder
  5. build: docker/builder
  6. client:
  7. image: yandex/clickhouse-client
  8. build: docker/client
  9. command: ['--host', 'server']
  10. server:
  11. image: yandex/clickhouse-server
  12. build: docker/server
  13. ports:
  14. - 8123:8123

我做得不对吗?谢谢你的帮助。
更新:
尝试注解解决方案,但不起作用:

  1. ERROR: Service 'builder' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder511288209/docker_related_config.xml: no such file or directory
aiqt4smr

aiqt4smr1#

请查看此项目的github存储库,并尝试从中构建它:https://github.com/yandex/clickhouse/tree/master/docker/server
不要只是复制dockerfile,而是克隆项目并从那里构建它。

相关问题