【AWS②】AWS上でDocker環境構築をする

AWSのインスタンスにSSHでアクセスする

sshコマンドの使い方

$ ssh <username>@<hostname>

パブリックDNSはインスタンスを停止すると変わるので、都度確認が必要

ubuntuのhomeディレクトリが見れることを確認できます。

これで無事にAWSで立てたインスタンスに入れるようになりました。

AWSのインスタンスにDockerをセットアップする

次にAWSインスタンスでDockerが使えるようセットアップをしていこう。

AWSインスタンスにDocker imageをアップロードする

AWSインスタンスにDocker imageをアップロードする方法は以下の3つがあります。

  1. Dockerレジストリを使う
  2. DockerfileをホストPC→AWSインスタンスに送り、AWS上でビルドする
  3. Docker imageをtarファイルに圧縮して送る。

今回は、❷、❸を試してみようと思います。

まずは❸を見ていこう、あるDockerfileを.tarファイルに変換します。

Dockerfileを.tarファイルに変換

$ docker save <IMAGE ID> > <file.tar> : <IMAGE ID>を<filename>.tarとして保存する

次に、SFTPを使い.tarファイルをAWSサーバーにputする、またはAWSサーバーからgetする方法を見ていこう。

SFTPを用い、.tarファイルをAWSインスタンスに転送する

$ sftp -i <.pem file> <username>@<hostname> : SFPTでAWSサーバーに入る

$ put <local/file/path> [remote/path] : <local/file/path>を[remote/path]に保存する

$ get <remote/file/path> [local/path] : <remote/file/path>を[local/path]に保存する

ここまででAWSサーバーに.tarファイルが送れたかと思います。次にAWSサーバーにSSH接続して
.tarファイルがあるか確認してみよう。

AWSサーバー上にmyimage.tarがありました。
おまけですが、AWSサーバーから.tarファイルをgetするやり方も知っておこう。

AWSサーバーからmyimage.tarがgetできているのが確認できました。
次にAWSサーバー上で.tarファイルを解凍し、Docker imageに戻してみよう。

.tarファイルを解凍する

docker load < <file.tar> : <file.tar>をDocker imageに解凍する

.tarファイルをdocker imageに展開することができたかと思います。

続いて❷の方法をやってみたいと思います。

sftpでAWSサーバーに入り、Dockerfileをputしてきます。その後SSH接続でAWSサーバーに入り、
Dockerfileをビルドします。

これでdocker imageは作成できます。

最後に注目して欲しいのですが、space left on deviceと容量が足りませんと出てしまいます。
次回はEC2のメモリ容量を8→20GBに変更し、実際にdocker buildするところまでやっていきましょう。

今回はこの辺で、ばいばい👋

コメントを残す

メールアドレスが公開されることはありません。