docker服务创建永不返回
什么会阻止docker服务创建永不返回,docker,docker-swarm,docker-machine,Docker,Docker Swarm,Docker Machine,什么会阻止docker服务创建…命令完成?它从不返回命令提示符或报告任何类型的错误。相反,它会在“新建”、“已分配”、“准备就绪”和“启动”之间反复切换 命令如下: docker service create --name proxy -p 80:80 -p 443:443 -p 8080:8080 --network proxy -e MODE=swarm vfarcic/docker-flow-proxy 这是Viktor Farcic的一本书《DevOps 2.1工具包-Docker S
docker服务创建…
命令完成?它从不返回命令提示符或报告任何类型的错误。相反,它会在“新建”、“已分配”、“准备就绪”和“启动”之间反复切换
命令如下:
docker service create --name proxy -p 80:80 -p 443:443 -p 8080:8080 --network proxy -e MODE=swarm vfarcic/docker-flow-proxy
这是Viktor Farcic的一本书《DevOps 2.1工具包-Docker Swarm》,我遇到了一个无法克服的问题
我试图在一个由三个节点组成的集群上运行反向代理服务,所有节点都在LinuxMint系统上本地运行,docker service create
永远不会返回命令提示符。它坐在那里,在状态之间循环,总是说总体进度:1个任务中的0个
- 这是一个由三个节点组成的集群,所有节点都在本地运行,由一个管理者和两个工人通过
创建docker machine
- 在测试过程中,我使用相同的节点集群成功创建了其他覆盖网络和其他服务
Ctrl-C
在我尝试创建服务的终端中,我会收到以下消息:
行动仍在后台进行。
使用docker service ps p7jfgfz8tqemrgbg1bn0d06yp检查进度
如果我使用docker服务ps--no trunc p473obsbo9tgjom1fd61or5ap
我得到:
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
dbzvr67uzg5fq9w64uh324dtn proxy.1 dockerflow/docker-flow-proxy:latest@sha256:e4e4a684d703bec18385caed3b3bd0482cefdff73739ae21bd324f5422e17d93 node-1 Running Starting 11 seconds ago
vzlttk2xdd4ynmr4lir4t38d5 \_ proxy.1 dockerflow/docker-flow-proxy:latest@sha256:e4e4a684d703bec18385caed3b3bd0482cefdff73739ae21bd324f5422e17d93 node-1 Shutdown Failed 16 seconds ago "task: non-zero exit (137): dockerexec: unhealthy container"
q5dlvb7xz04cwxv9hpr9w5f7l \_ proxy.1 dockerflow/docker-flow-proxy:latest@sha256:e4e4a684d703bec18385caed3b3bd0482cefdff73739ae21bd324f5422e17d93 node-1 Shutdown Failed 49 seconds ago "task: non-zero exit (137): dockerexec: unhealthy container"
z86h0pcj21joryb3sj59mx2pq \_ proxy.1 dockerflow/docker-flow-proxy:latest@sha256:e4e4a684d703bec18385caed3b3bd0482cefdff73739ae21bd324f5422e17d93 node-1 Shutdown Failed about a minute ago "task: non-zero exit (137): dockerexec: unhealthy container"
uj2axgfm1xxpdxrkp308m28ys \_ proxy.1 dockerflow/docker-flow-proxy:latest@sha256:e4e4a684d703bec18385caed3b3bd0482cefdff73739ae21bd324f5422e17d93 node-1 Shutdown Failed about a minute ago "task: non-zero exit (137): dockerexec: unhealthy container"
所以,没有提到节点2或节点3,我不知道错误消息的意思
如果我随后使用docker服务日志-f proxy
我会每隔一分钟左右收到以下消息:
代理1。l86x3a6md766@node-1 | 2018/09/11 12:48:46开始HAProxy
代理1。l86x3a6md766@node-1 | 2018/09/11 12:48:46从
我只能猜测它没有得到它想要的任何证书。该地址似乎没有任何内容,但IP地址查找显示它指向我的ISP。这是从哪里来的?docker无法创建服务的动机可能不止一个。查看原因的最简单方法是通过运行以下命令查看服务的最后状态:
docker service ps --no-trunc proxy
其中有一个描述最后一个错误的列
或者你也可以跑步
docker service logs -f proxy
查看代理
服务内部发生了什么。这是一个老问题,但我在试验docker时遇到了同样的问题。
对我来说,这个问题是通过在规定名称之前发布端口来解决的
我相信docker的功能是在将名称规定为--name“name”image以使用“在启动时传递给image的命令”之后实现的
因此,它继续尝试将这些选项作为命令传递给容器,但在运行服务时失败,而不是将它们作为选项使用。有没有办法从另一个终端会话获取信息?我在其中运行服务创建
命令的终端永远不会返回提示符。在另一个会话中运行这两个命令中的任何一个,我只是从守护进程得到一条错误消息错误响应:这个节点不是swarm manager。使用“docker swarm init”或“docker swarm join”将此节点连接到swarm,然后重试。
@Vince它应该可以从任何管理器
节点工作,甚至可以从您在另一个会话中运行命令的节点工作。@Vince奇怪的是,从同一个节点得到该错误;你确定你在同一个节点上吗?@Vince或者你可以检查docker守护程序日志;看看我怎么解释得不对。我没有登录到任何节点。我已登录到主机。当我提到一个新会话时,我的意思是我正在主机上打开一个新的终端窗口。所以,我没有在节点上做任何事情。