はじめに
Dockerに対応したAWS EC2インスタンスを作成する際に躓いたところとその対応について記載しています。
作成手順のページは下記リンクです。Udemyなどで公開されている講座などでも同様の手順かと思います。
Amazon Web Services (AWS) EC2 の例
前提環境
- Windows10 Home
- Docker for Windows
- Windows PowerShellで環境構築
- PowerShell上でdocker-machineコマンドが使える
以下では接続先のEC2名はaws-sandboxとしています。
使用している環境に応じて読み替えてください。
躓いたところ
ホストをアクティブにする際の下記コマンド実行ができませんでした。
これは当然でevalコマンド自体はLinuxなどで使用可能であり、Windowsでは使用できないためです。
eval $(docker-machine env aws-sandbox)
解決策
下記コマンドで同様の操作が可能です。
& docker-machine env aws-sandbox | Invoke-Expression
もともとevalコマンドに対応するWindows のコマンドはInvoke-Expressionコマンドです。このコマンドを応用して操作を実現しています。
ちなみに、下記コマンドを実行するとdocker側が環境変数と併記して各環境に応じた推奨コマンドをコメントで提示してくれます。(先に言ってほしかった...)
docker-machine env aws-sandbox
おわり
個人的に躓いたところを記載しました。Windows10HomeでDocker for Windowsが使えるようになったため、意外とこういったところで躓く人が多くなる気がします。ご参考になれば嬉しいです。