私は、docker-composeが私のMacでどのように機能するかについて非常に混乱しています。 これが私が取ったステップです:
1)インストールされたDocker Toolbox(Dockerバージョン1.8.2)
2) docker-compose up
を実行しようとしましたが、#1885に従ってIllegal instruction: 4
エラーが発生しました
3)この問題を修正するために、 sudo pip install -U docker-compose
介してpipでdocker-compose
をインストールしました
4) docker-compose up
を実行すると、 Couldn't connect to Docker daemon - you might need to run
boot2dockerが.
アップします。
すべてのドキュメントにboot2docker
が非推奨であると記載されているため、これは非常に混乱します。 また、boot2dockerをインストールしようとしてもうまくいきません。
他に何を試すべきかわかりません。 現在、docker-composev1.4.2がインストールされています。
最近、このエラーメッセージを修正しました(修正は次のリリースで行われます)。
「 docker-machine start default
を実行する必要があるかもしれません」と表示されます。
それでも接続できず、 docker-machine
が実行されている場合は、 eval "$(docker-machine env default)"
マシンを使用するようにcomposeを構成できます。
よろしくお願いします。 私の問題はDockerVMにあるようです。 docker images
ような通常のDockerコマンドを実行している場合でも、あらゆる種類のTLSエラーが発生します。
Get http:///var/run/docker.sock/v1.20/images/json: dial unix /var/run/docker.sock: no such file or directory.
* Are you trying to connect to a TLS-enabled daemon without TLS?
* Is your docker daemon up and running?
Dockerチームで取り上げます。
更新
この問題を抱えている人のために。 私にとっての解決策は次のとおりでした。
Docker Quickstart Terminal
アプリを実行しますdocker-machine restart default
実行しますeval $(docker-machine env default)
実行しますどうやら、クイックスタートターミナルを実行するたびにeval $(docker-machine env default)
を実行する必要があります。
同じエラーが発生しますが、デフォルトのマシンではなく、 amazonec2
ドライバーで作成された別のマシンを使用したいのですが、可能ですか?
はい。 Composeは、 DOCKER_HOST
環境変数( eval $(docker-machine env ....)
によって設定されるもの)に設定されているエンジンを使用します。
ああ、ありがとう、私はDOCKER_HOST
について知りません
この値を上書きするコマンドラインパラメータを追加してみませんか?
将来これにアクセスする人のために何かを追加したいのですが...新しいシェルを開くたびにこの問題が発生し続けるので、 ~/.bash_profile
eval $(docker-machine env default)
を追加しました。 御馳走を動作します。 もちろん、ここの誰かがこれは非常に悪いアイデア(TM)だと言うかもしれません:smile:
はい、動作します。 しかし、なぜ突然$(docker-machine env default)を評価するのですか? 以前は正常に機能していました
ええ、私もわかりません。 以前も私のために働いていました。
eval $(docker-machine env default)
は私のために働きます! ありがとう:)
評価「$(docker-machine env default)」が機能しました、ありがとう!
eval $(docker-machine env default)
を~/.bash_profile
に追加するソリューション(提案したとしても)には、新しいターミナルウィンドウを開くのに約2秒の遅延が追加されるため、まだ完全には満足していません。 誰かもっと良いアイデアがありますか?
@shankiesan alias eval_evil_docker="eval $(docker-machine env default)"
そうそう、@ michahellでうまく
@shankiesan私が見ることができる他の唯一のオプションは、.bash_profileのdocker-machine env default
から生成された変数をエクスポートすることです。 はい、IPは理論的には変更される可能性がありますが、実際には、新しいシェルを毎日開くのが遅れるよりも発生する可能性ははるかに低く、変更された場合はいつでも更新できます:-)
それは良い考えです@lewistaylor 。 動作しない前に試してみましたが、今回はオペレーターのミスだったに違いありません。 いいですね、それは素晴らしい提案です:+1:
@shankiesan @lewistaylorうわー、私がそれを思い付かなかったことを理解できません。 さらに良い解決策:+1:
この問題はまだ解決していません。唯一の解決策は使用することです
$ eval $(docker-machine env the-vm-name) // which doesnt give any output & without it we get the error
$ docker-compose up
同じ問題が発生することもありますが、MacBookを閉じたときにのみ発生します。 システムを再起動すると、正常に起動する場合と起動しない場合があります。 そうでない場合は、再起動しますが、通常は機能しています。 私の推測では、おそらくIP /ポートの問題は、閉じていないプログラム(PHPStormなど)でラップトップを再起動した場合、通常は機能しない原因であると推測しています。 実行中のすべてのプログラムを閉じて再起動すると、機能します。
+1
@lewistaylor @shankiesan @michahell .bash_profileのdocker-machine env default
から変数をどのようにエクスポートしますか? 私はbashが苦手なので、この修正の実装に協力していただければ幸いです。
docker-machine / dinghy / boot2dockerを削除し、Mac用のdockerを使用します。
公式ランタイムになる
2016年6月3日08:03、「nwshane」 [email protected]は次のように書いています。
@lewistaylor https://github.com/lewistaylor @shankiesan
https://github.com/shankiesan @michahell https://github.com/michahell
docker-machine envdefaultから変数をどのようにエクスポートしますか
.bash_profile? 私はbashが苦手なので、助けていただければ幸いです。
この修正を実装します。—
あなたが言及されたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/docker/compose/issues/2180#issuecomment -223505966、
またはスレッドをミュートします
https://github.com/notifications/unsubscribe/AAeWNmFAR8k9Aszni-FDcGrkfK4dVEAeks5qH9GugaJpZM4GN-hv
。
@nwshaneお気に入りのテキストエディタで.bash_profile
を編集するだけです。 例えば:
nano ~/.bash_profile
そしてdocker-machine env default
から得た行を追加します。 次に、そのファイルをsource
する必要があります。これは、ターミナルセッションを開いたり閉じたりするか、 source ~/.bash_profile
を使用して行うことができます。
それはそれをする必要があります。
@shankiesan素晴らしい、ありがとう! それがトリックでした。 docker-machine env default
を実行してそこから変数を取得する必要があると考えて混乱していましたが、もちろんそれがeval "$(docker-machine env default)"
機能です。
$ wordpress-compose eval $(docker-machine env wordpress)
$ wordpress-compose docker ps
コンテナIDイメージコマンドが作成したステータスポート名
443c7386f4ef wordpress "/entrypoint.sh apach" 7分前7分アップ0.0.0.0:80->80 / tcp wordpress_app
a790fdc3ca70 mysql "docker-entrypoint.sh" 14分前アップ14分0.0.0.0:3360->3306 / tcp wordpress_db
$ wordpress-compose docker-compose up
エラー:Dockerデーモンに接続できませんでした- docker-machine start default
を実行する必要があるかもしれません。`
$ wordpress-compose docker-compose --version
docker-composeバージョン1.8.0-rc1、ビルド9bf6bc6
$ wordpress-compose docker --version
Dockerバージョン1.12.0-rc2、ビルド906eacd、実験的
これが私の情報です。 docker run .......mysql.....
とdocker run ....link....wordpress
を使用すればすべて正常に機能し、ブラウザでブログにアクセスできます。 docker-compose
を試したいのですが、うまくいきません。 デフォルトのマシンを削除しました。現在、wordpressが使用されています。
何が悪いのかを見つけるのを手伝ってもらえますか?
私は同じ問題を抱えています
しかし、私はdocker-machineのみdocker-composeを使用していません
何か案が ??
eval "$(docker-machine env default)"
は問題を解決します
docker-composeの1つの特定のサービスで同じ問題が発生しました。
権限の問題でした... dockerにアップロードされるファイルは現在のユーザーが所有していませんでした。
ここの@Rotsと同じ= /
コマンドを貼り付けます。
eval "$(docker-machine env default)"
Mac端末で
"Error checking TLS connection: machine does not exist"
docker-machine env defaultを使用しようとするたびにこの問題が発生し、bash_profileからもロードしようとしましたが、ヘルプが必要です!
SSLエラー:プロトコルに違反してEOFが発生しました(_ssl.c:777)
最も参考になるコメント
最近、このエラーメッセージを修正しました(修正は次のリリースで行われます)。
「
docker-machine start default
を実行する必要があるかもしれません」と表示されます。それでも接続できず、
docker-machine
が実行されている場合は、eval "$(docker-machine env default)"
マシンを使用するようにcomposeを構成できます。