Compose: docker-compose 因 AttributeError 失败:“模块”对象没有属性“get_config_header”

创建于 2017-01-25  ·  3评论  ·  资料来源: docker/compose

我最近升级到 docker 版本 1.13 和 docker-compose 1.10.0。
使用 docker compose 文件(版本 2 或版本 3)时,命令docker-compose up docker-compose pull <service_name>我收到以下错误:

$ 码头工人组成
拉 myredis (redis:latest)...
回溯(最近一次通话最后):
文件“/usr/local/bin/docker-compose”,第 11 行,在
sys.exit(main())
文件“/usr/local/lib/python2.7/dist-packages/compose/cli/main.py”,第 64 行,在 main
命令()
文件“/usr/local/lib/python2.7/dist-packages/compose/cli/main.py”,第 116 行,在 perform_command
处理程序(命令,command_options)
文件“/usr/local/lib/python2.7/dist-packages/compose/cli/main.py”,第 848 行,向上
remove_orphans=remove_orphans)
文件“/usr/local/lib/python2.7/dist-packages/compose/project.py”,第 389 行,向上
svc.ensure_image_exists(do_build=do_build)
文件“/usr/local/lib/python2.7/dist-packages/compose/service.py”,第 312 行,在 ensure_image_exists
自我拉动()
文件“/usr/local/lib/python2.7/dist-packages/compose/service.py”,第 878 行,在 pull
输出 = self.client.pull(repo, tag=tag, stream=True)
文件“/usr/local/lib/python2.7/dist-packages/docker/api/image.py”,第 333 行,拉取
header = auth.get_config_header(self, registry)
AttributeError:“模块”对象没有属性“get_config_header”

这是我的撰写文件,请注意版本 2 和 3 都失败并出现相同的错误。

~/Downloads $ cat docker-compose.yml
version: '2'
services:
myredis:
image: redis:alpine

~/Downloads $ cat docker-compose.yml
version: '3'
services:
myredis:
image: redis:alpine

~/Downloads $ docker 版本
客户:
版本:1.13.0
API版本:1.25
围棋版本:go1.7.3
Git 提交:49bf474
建成时间:2017 年 1 月 17 日星期二 09:58:26
操作系统/架构:linux/amd64

服务器:
版本:1.13.0
API 版本:1.25(最低版本 1.12)
围棋版本:go1.7.3
Git 提交:49bf474
建成时间:2017 年 1 月 17 日星期二 09:58:26
操作系统/架构:linux/amd64
实验:错误

~/Downloads $ 码头工人信息
警告:不支持交换限制
容器:5
运行:0
暂停:0
停止:5
图片:59
服务器版本:1.13.0
存储驱动程序:aufs
根目录:/var/lib/docker/aufs
支持文件系统:extfs
目录:104
Dirperm1 支持:真
日志记录驱动程序:json 文件
Cgroup 驱动程序:cgroupfs
插件:
音量:本地
网络:桥接主机 macvlan 空覆盖
群:不活跃
运行时:runc
默认运行时:runc
初始化二进制文件:docker-init
容器版本:03e5862ec0d8d3b3f750e19fca3ee367e13c090e
runc 版本:2f7393a47307a16f8cee44a37b262e8b81021e3e
初始版本:949e6fa
安全选项:
服装
秒算
配置文件:默认
内核版本:4.4.0-53-generic
操作系统:Ubuntu 16.04.1 LTS
操作系统类型:linux
架构:x86_64
中央处理器:8
总内存:15.55 GiB
名称:已编辑
ID:EWM5: UMNC:4KLAMYJK:FZ7FJSKE:D2NBCICK:KL33QWEE:9000 :K6OJ
Docker 根目录:/var/lib/docker
调试模式(客户端):false
调试模式(服务器):假
用户名:已编辑
注册表: https ://index.docker.io/v1/
实验:错误
不安全的注册表:
127.0.0.0/8
启用实时恢复:假

~/Downloads $ docker-compose 版本
docker-compose 版本 1.10.0,构建 4bd6f1a
docker-py 版本:2.0.2
CPython 版本:2.7.12
OpenSSL 版本:OpenSSL 1.0.2g 2016 年 3 月 1 日

~/下载 $ uname -ra
Linux 已编辑 4.4.0-53-generic #74-Ubuntu SMP Fri Dec 2 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

~/下载 $ lsb_release -ar
经销商编号:Ubuntu
说明:Ubuntu 16.04.1 LTS
发布时间:16.04
代号:xenial
没有可用的 LSB 模块。

docker 本身(没有 docker-compose)似乎工作得很好:

~/Downloads $ docker run -it redis:alpine
无法在本地找到图像“ redis:alpine
alpine:从库/redis 中提取
0a8490d0dfd3:拉取完成
c8d0e817ebe2:拉取完成
7f2a4f935feb:拉取完成
0b43e209f780:拉取完成
b06b9be4b2bc:拉取完成
5de037257f43:拉取完成
摘要:sha256:a06a61747e4a7b46788e2813b21ea6b06386df8e238e56f51f8793adb48f0a8b
状态:为redis:alpine下载了更新的图像
1:C 25 Jan 08:59:26.533 # 警告:未指定配置文件,使用默认配置。 为了指定配置文件,请使用 redis-server /path/to/redis.conf
_._
_.- __ ''-._ _.- . _. ''-._ Redis 3.2.6 (00000000/0) 64 位
.-`` .- . \/ _.,_ ''-._
……
...
..

最有用的评论

我终于修好了,我不知道什么有效 :wink: 我只是用火点燃了东西,事情又恢复了正常。
我使用的核弹发射代码是:
docker stop $(docker ps -a -q) # 停止所有 docker 容器
docker rm -f $(docker ps -a -q) # 删除所有 docker 容器
docker images -q | xargs docker rmi -f # 删除所有 docker 镜像
sudo pip uninstall docker-compose # 卸载 docker-compose

然后重新安装docker-compose:
sudo pip install -U docker-compose

所有3条评论

我终于修好了,我不知道什么有效 :wink: 我只是用火点燃了东西,事情又恢复了正常。
我使用的核弹发射代码是:
docker stop $(docker ps -a -q) # 停止所有 docker 容器
docker rm -f $(docker ps -a -q) # 删除所有 docker 容器
docker images -q | xargs docker rmi -f # 删除所有 docker 镜像
sudo pip uninstall docker-compose # 卸载 docker-compose

然后重新安装docker-compose:
sudo pip install -U docker-compose

我在centos7上运行“docker-compose”命令时遇到了类似的错误。
我重新启动了服务器,它又可以工作了。 但是,问题时常出现。

此页面是否有帮助?
0 / 5 - 0 等级