Compose: docker-composeはAttributeErrorで失敗します: 'module'オブジェクトには属性がありません 'get_config_header'

作成日 2017年01月25日  ·  3コメント  ·  ソース: docker/compose

最近、dockerバージョン1.13とdocker-compose1.10.0にアップグレードしました。
Docker構成ファイル(バージョン2またはバージョン3の両方)を使用すると、コマンドdocker-compose up docker-compose pull <service_name>次のエラーが発生します。

$ docker-構成する
myredisを引っ張る(redis:latest)..。
トレースバック(最後の最後の呼び出し):
ファイル "/ usr / local / bin / docker-compose"、行11、
sys.exit(main())
ファイル "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py"、64行目、メイン
指図()
ファイル "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py"、行116、perform_command
ハンドラー(コマンド、コマンドオプション)
ファイル "/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
self.pull()
ファイル "/usr/local/lib/python2.7/dist-packages/compose/service.py"、878行目、プル
output = self.client.pull(repo、tag = tag、stream = True)
ファイル "/usr/local/lib/python2.7/dist-packages/docker/api/image.py"、行333、プル
ヘッダー= auth.get_config_header(self、registry)
AttributeError: 'module'オブジェクトに属性 'get_config_header'がありません

これが私の作成ファイルです。バージョン2と3の両方が同じエラーで失敗することに注意してください。

〜/ダウンロード$ cat docker-compose.yml
version: '2'
services:
myredis:
image: redis:alpine

〜/ダウンロード$ cat docker-compose.yml
version: '3'
services:
myredis:
image: redis:alpine

〜/ダウンロード$ dockerバージョン
クライアント:
バージョン:1.13.0
APIバージョン:1.25
Goバージョン:go1.7.3
Gitコミット:49bf474
構築:2017年1月17日火曜日09:58:26
OS / Arch:linux / amd64

サーバ:
バージョン:1.13.0
APIバージョン:1.25(最小バージョン1.12)
Goバージョン:go1.7.3
Gitコミット:49bf474
構築:2017年1月17日火曜日09:58:26
OS / Arch:linux / amd64
実験的:false

〜/ダウンロード$ docker info
警告:スワップ制限はサポートされていません
コンテナ:5
実行中:0
一時停止:0
停止:5
画像:59
サーバーバージョン:1.13.0
ストレージドライバー:aufs
ルートディレクトリ:/ var / lib / docker / aufs
バッキングファイルシステム:extfs
Dirs:104
サポートされているDirperm1:true
ロギングドライバー:json-file
Cgroupドライバー:cgroupfs
プラグイン:
ボリューム:ローカル
ネットワーク:ブリッジホストmacvlannullオーバーレイ
群れ:非アクティブ
ランタイム:runc
デフォルトのランタイム:runc
バイナリの初期化:docker-init
コンテナバージョン:03e5862ec0d8d3b3f750e19fca3ee367e13c090e
runcバージョン:2f7393a47307a16f8cee44a37b262e8b81021e3e
初期化バージョン:949e6fa
セキュリティオプション:
apparmor
seccomp
プロファイル:デフォルト
カーネルバージョン:4.4.0-53-generic
オペレーティングシステム:Ubuntu 16.04.1 LTS
OSType:linux
アーキテクチャ:x86_64
CPU:8
総メモリ:15.55 GiB
名前:編集済み
ID:EWM5: UMNC:4KLAMYJK:FZ7FJSKE:D2NBCICK:KL33QWEE:9000 :K6OJ
Dockerルートディレクトリ:/ var / lib / docker
デバッグモード(クライアント):false
デバッグモード(サーバー):false
ユーザー名:編集済み
レジストリ: https ://index.docker.io/v1/
実験的:false
安全でないレジストリ:
127.0.0.0/8
ライブ復元が有効:false

〜/ダウンロード$ docker-作成バージョン
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 REDACTED 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
ディストリビューターID:Ubuntu
説明:Ubuntu 16.04.1 LTS
リリース:16.04
コードネーム:xenial
利用可能なLSBモジュールはありません。

docker自体(docker-composeなし)は問題なく動作するようです:

〜/ダウンロード$ docker run -it redis:alpine
画像 ' redis: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 評価