首页 > 解决方案 > 无法在 clickhouse docker 映像上运行 docker-compose push:资源被拒绝

问题描述

我正在尝试在我的 3 节点 nuc 集群上的 docker swarm 中运行 clickhouse 集群,并在其中两个节点上运行 clickhouse。我的设置如下:

Client: Docker Engine - Community
 Version:           19.03.1
 API version:       1.40
 Go version:        go1.12.5
 Git commit:        74b1e89e8a
 Built:             Thu Jul 25 21:21:35 2019
 OS/Arch:           linux/amd64
 Experimental:      false

docker-compose version 1.8.0, build unknown
docker-py version: 1.9.0
CPython version: 2.7.12
OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016

我正在利用这里的文档:

https://docs.docker.com/engine/swarm/stack-deploy/

保持简单,从以前的帖子开始,我的步骤是:

1. create registry: docker service create --name registry --publish published=5000,target=5000 registry:2

2. clone https://github.com/yandex/ClickHouse/tree/master/docker/server

3. cd into the server folder

4. run docker-compose up -d

5. it seems to run through, but some things are not compiling properly:

        Name                      Command                State                       Ports                    
-------------------------------------------------------------------------------------------------------------
clickhouse_builder_1   /bin/bash /build.sh              Exit 1                                                
clickhouse_client_1    /usr/bin/clickhouse-client ...   Exit 210                                              
clickhouse_server_1    /entrypoint.sh                   Up         0.0.0.0:8123->8123/tcp, 9000/tcp, 9009/tcp 

当我尝试 docker-compose push 我得到:

ushing builder (yandex/clickhouse-builder:latest)...
The push refers to repository [docker.io/yandex/clickhouse-builder]
25191c01f764: Preparing
a45a4a0fdaa6: Preparing
a4d49d090007: Preparing
a7333d91116d: Preparing
122be11ab4a2: Preparing
7beb13bce073: Waiting
f7eae43028b3: Waiting
6cebf3abed5f: Waiting
ERROR: denied: requested access to the resource is denied

我是在错误地接近这个吗?

更新:

不需要像大卫建议的那样运行 docker-compose push,我继续拉https://github.com/yandex/ClickHouse/blob/master/docker-compose.yml并将它放在我的 repo 的服务器目录中克隆并运行(必须将版本更改为“3”):

docker stack deploy --compose-file docker-compose.yml medusa

更新

从 .yml 文件中删除了构建器和客户端,因为现在我要做的是创建与之通信的服务器。客户端将单独构建。现在看来运行良好。检查服务:

docker stack services medusa

ID                  NAME                MODE                REPLICAS            IMAGE                              PORTS
cu3bf94zbuxa        medusa_client       replicated          0/1                 yandex/clickhouse-client:latest    
p3bryrrl8wro        medusa_server       replicated          1/1                 yandex/clickhouse-server:latest    *:8123->8123/tcp
vluijvflilkv        medusa_builder      replicated          0/1                 yandex/clickhouse-builder:latest 

假设客户端和构建器未运行,我是否正确?我运行可视化工具作为帮助:

https://github.com/dockersamples/docker-swarm-visualizer

我看到服务出现并重新出现: 在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

标签: dockerdocker-composedocker-swarm

解决方案


推荐阅读