質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1514閲覧

docker-compose upができない

egoNekoge

総合スコア11

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2020/01/29 11:43

質問者の知識量

  • 最近dockerを勉強し始めました
  • docker-composeを勉強し始めに遭遇しました

環境

OS:Windows 10
Docker:19.03.5, build 633a0ea
Docker-compose:1.25.2, build 698e2846
Python:3.8.1

発生している問題・エラーメッセージ

題の通りですが、以下のようなエラーメッセージがでてdocker-compose upができません...

yml

1version: '3.7' 2 3services: 4 nginx: 5 image: nginx 6 ports: 7 - 8080:80

terminal

1> docker-compose up 2Pulling nginx (nginx:)... 3Traceback (most recent call last): 4 File "docker-compose", line 6, in <module> 5 File "compose\cli\main.py", line 72, in main 6 File "compose\cli\main.py", line 128, in perform_command 7 File "compose\cli\main.py", line 1077, in up 8 File "compose\cli\main.py", line 1073, in up 9 File "compose\project.py", line 548, in up 10 File "compose\service.py", line 361, in ensure_image_exists 11 File "compose\service.py", line 1250, in pull 12 File "compose\progress_stream.py", line 102, in get_digest_from_pull 13 File "compose\service.py", line 1215, in _do_pull 14 File "site-packages\docker\api\image.py", line 396, in pull 15 File "site-packages\docker\auth.py", line 48, in get_config_header 16 File "site-packages\docker\auth.py", line 324, in resolve_authconfig 17 File "site-packages\docker\auth.py", line 235, in resolve_authconfig 18 File "site-packages\docker\auth.py", line 262, in _resolve_authconfig_credstore 19 File "site-packages\docker\auth.py", line 287, in _get_store_instance 20 File "site-packages\docker\credentials\store.py", line 20, in __init__ 21 File "site-packages\docker\credentials\utils.py", line 24, in find_executable 22 File "ntpath.py", line 85, in join 23UnicodeDecodeError: 'ascii' codec can't decode byte 0x95 in position 26: ordinal not in range(128) 24[22648] Failed to execute script docker-compose

試したこと

Docker for Windowsの再インストール

アンインストールして公式サイトからインストーラーを使って再インストール
→上記と同様のエラーが出てダメでした...

CPythonの調査

terminal

1> docker-compose version 2docker-compose version 1.25.2, build 698e2846 3docker-py version: 4.1.0 4CPython version: 2.7.16 5OpenSSL version: OpenSSL 1.0.2q 20 Nov 2018

CPythonのバージョンが2.7.16です...
CPythonはPythonと同梱されているものと認識しています。
Python 2系のデフォルトエンコーディングはasciiだそうで、3系ではutf-8がデフォルトのようです。
何かしらの文字を、asciiで解釈してしまっているために起こっているエラーなのではと考えました。

Windowsにインストールされているデフォルトエンコーディングの確認

Python

1>>> import sys 2>>> sys.getdefaultencoding() 3'utf-8'

utf-8でした。
上記の環境にあるように、WindowsにインストールしたPythonのバージョンは3.8.1です。
2系はインストールしたことすらありません。
CPythonのアップデートの方法がわからず、ここで詰まってしまいました...

ご助力いただけますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

このCPythonはDocker Compose内部で使われています。具体的には、Docker ComposeはDockerと通信するためにPython製のdocker-pyというクライアントライブラリに依存していて、これがPython2系で開発されているのだと思います。

解決策は以下のようにdocker-compose.yamlの保存するときの文字コードを変えてあげれば良さそうに思います。

https://qiita.com/_saki_kawa_/items/5ab6be0ceecc3ede81ae

投稿2020/02/01 06:59

inductor

総合スコア428

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問