[解決済み] eval "$(docker-machine env default) "とする。
質問
docker-composeでdockerを起動する際に問題があります。
を実行すると
docker-compose -f dev.yml build
以下のエラーが発生しました。
Building postgres
ERROR: Couldn't connect to Docker daemon - you might need to run `docker-machine start default`.
しかし、もし私が
docker-machine ls
マシンが明らかにアップしている >
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default - virtualbox Running tcp://192.168.99.100:2376 v1.12.1
を実行することでエラーを修正しました。
eval "$(docker-machine env default)"
その後に
docker-compose -f dev.yml build
は正常に終了しています。
私の質問は、なぜこれがうまくいったのか、実際に何が起こり、どのように元に戻せばいいのか、ということです。
また、これは安全に修正する方法ですか?今は私のノートパソコンだけですが、近い将来、このコンテナは会社のサーバーを襲うことになるはずです。
私はbashが超流暢なわけではありませんが、私はいつも次のようなことをしてはいけないと言われています。
eval
特にevalを"で実行しないことです。
解決方法は?
を実行すると
docker
コマンドを実行すると、CLIはDockerデーモンのAPIに接続し、実際に作業を行うのはAPIです。API接続の詳細を変更することで、ローカルのCLIからリモートのDockerホストを管理することができ、DockerはCLIを実行するクライアントの環境変数にそれを保存します。
Docker Machineでは、DockerエンジンはVMで動作しており、これは事実上リモートマシンなので、ローカルCLIはそれに接続するように設定する必要があります。Docker Machineは、管理するエンジンの接続詳細を知っているので、そのエンジンに接続するために
docker-machine env default
の詳細が表示されます。
default
マシンを使用します。出力はこのようなものです。
$ docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://172.16.62.130:2376"
export DOCKER_CERT_PATH="/Users/elton/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
使用方法
eval
は、それらの各々を実行します。
export
コマンドをコンソールに書き込むのではなく、環境変数を設定する手っ取り早い方法なのです。
で元に戻し、ローカル環境をリセットすることができます。
docker-machine env --unset
で、環境の設定を解除するための出力が得られます (そのため、CLI はローカルの Docker Engine に接続しようとします)。
関連
-
[解決済み] nohupプロセスを終了させる方法を教えてください。
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み】Dockerは仮想マシンとどう違うの?
-
[解決済み】macOSでDockerデーモンに接続できない。
-
[解決済み】docker-composeからdockerに接続できない。
-
[解決済み] Docker Machineです。デバイスに空き容量がない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 '\r': コマンドが見つかりません - .bashrc / .bash_profile [重複].
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] バッシュ Vim.NET」が表示されたらVimを終了させる Warning: 出力先が端末でない"
-
[解決済み] 部分的にコピーされたファイルでscpを再開する方法は?[クローズド]です。
-
[解決済み] Docker ubuntu イメージ - bash: man: コマンドが見つかりません。
-
[解決済み] openstack の google-chrome-stable ubuntu12 パッケージが見つかりません。
-
[解決済み] bash スクリプトを実行しているドッカーエントリーポイントが "パーミッション拒否" になる
-
[解決済み] cshスクリプトをbashでソースして環境を設定する方法 [終了しました]。
-
[解決済み] bashで::演算子は何をするのですか?
-
[解決済み] シェルスクリプトでの連想配列