最近、Windows 10マシンにDocker Toolboxをインストールしました。
ただし、docker-compose up
を実行するたびに、次のエラーメッセージが表示されます。
Traceback (most recent call last):
File "<string>", line 3, in <module>
File "compose\cli\main.py", line 65, in main
File "compose\cli\main.py", line 117, in perform_command
File "compose\cli\main.py", line 849, in up
File "compose\project.py", line 372, in up
File "compose\project.py", line 539, in warn_for_swarm_mode
File "site-packages\docker\api\daemon.py", line 33, in info
File "site-packages\docker\utils\decorators.py", line 47, in inner
File "site-packages\docker\client.py", line 139, in _get
File "site-packages\requests\sessions.py", line 488, in get
File "site-packages\requests\sessions.py", line 475, in request
File "site-packages\requests\sessions.py", line 596, in send
File "site-packages\requests\adapters.py", line 423, in send
File "site-packages\requests\packages\urllib3\connectionpool.py", line 595, in urlopen
File "site-packages\requests\packages\urllib3\connectionpool.py", line 363, in _make_request
File "httplib.py", line 1057, in request
File "httplib.py", line 1097, in _send_request
File "httplib.py", line 1053, in endheaders
File "httplib.py", line 897, in _send_output
File "httplib.py", line 859, in send
File "site-packages\docker\transport\npipeconn.py", line 31, in connect
File "site-packages\docker\transport\npipesocket.py", line 22, in wrapped
File "site-packages\docker\transport\npipesocket.py", line 49, in connect
pywintypes.error: (2, 'WaitNamedPipe', 'The system cannot find the file specified.')
docker-compose returned -1
serとsystemの両方の環境変数にC:\Python27
とC:\Python27\Scripts
があることに注意してください。また、Python 3を使用してこれを試しましたが、まだ機能しません。
あなたと私は同じ問題を抱えているかもしれません。上記の@Haken Lidが投稿したリンクでは、問題はPATH環境変数に正しいバージョンのPythonがないことです。
しかし、私にとって問題は、実行することによって、すべての環境変数を設定していなかったことです
eval $(docker-machine env <vmname>)
docker-compose <any command>
を実行する前に。
「Windows用のDocker」を起動するのを忘れたため、そのエラーが発生しました。
Dockerクイックスタートターミナルでdocker-compose
を実行します。エラーを解決します。
Docker Quickstart Terminalはほとんどが通常のシェルですが、デフォルトのマシンを作成できます。他のマシンへの接続にも使用できます。
eval $(docker-machine env <MACHINE_NAME>)
Docker for Windowsがシステムトレイで稼働していることを確認します。それが私の問題でした。
次のコマンドを入力して、プロパティを設定できます。
docker-machine env --Shell cmd default
@FOR /f "tokens=*" %i IN ('docker-machine env --Shell cmd default') DO @%i
Windows 10にDockerを新規インストールすると、この問題が発生しました。 .msiをインストールし、コマンドラインから「docker-compose」を実行しました。
Dockerを実行したら(インストール後の手順をいくつか実行して、コンピューターからログアウトして再起動します)、docker-compose
を問題なく実行できました。
私はWindowsマシンでこの問題を修正するのに1時間近く費やしました。
Settings...
を選択します。 Shared Drives
に移動し、C:
ドライブを選択します。資格情報の入力を求められます。 [*]docker build .
を実行しますdocker-compose up
を実行します。
[*]:この手順を実行しないと、手順6でERROR: for website Cannot create container for service website: C: drive is not shared. Please share it in Docker for Windows Settings
のときにこのエラーが表示される場合があります。資格情報を入力した後、C:ドライブがチェックされない場合、docker-compose up
を実行するフォルダーへのフルアクセスを持つマシンの新しいユーザーを作成します。
Dockerを終了してDocker VMを停止すると、これが解決しました。
Dockerクイックスタートターミナルでdocker-machine env
を実行すると、次のことがわかりました。
export DOCKER_TLS_VERIFY="1"
export DOCKER_Host="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="C:\Users\TheGeniesis\.docker\machine\machines\default"
export DOCKER_MACHINE_NAME="default"
export COMPOSE_CONVERT_WINDOWS_PATHS="true"
#### Run this command to configure your Shell:
eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env)
eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env)
を実行しました。それでおしまい!
このソリューションは this issue からコピーされました。私はWindows 10ホームにいます。これで問題が解決しました。
Windows 8.1を使用しているので、Docker Toolboxを使用しました。何時間もトラブルシューティングを行った後、次の方法でこの問題を解決しました。
Docker Desktopを再起動した後、Windowsでこの問題が発生しました。
解決策は、ターミナルウィンドウを閉じて、新しいウィンドウを開くことでした。
起動中にDocker Quickstart Terminalが「IPを待機しています...」でしばらくハングした後に、この問題に遭遇しました。
Dockerクイックスタートターミナルを再起動すると、すべてが修正されました。