0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

iPadでコンテナ開発環境構築

Last updated at Posted at 2024-12-29

無料でiPadでコンテナ開発環境を構築する。方法を2つ以下に示す。
メモ程度の記事なので、軽く参考にすること

方法① GitHub Codespacesを利用

実施手順

①WebブラウザでGitHubアカウントを作成/ログイン
②リポジトリを作成
※webブラウザから作成すること。iPadのGitHubアプリからリポジトリの作成はできない
③GitHubリポジトリにDockerfileを用意する

# ベースイメージとしてUbuntu 20.04を指定
FROM ubuntu:20.04

# タイムゾーン設定と非対話モードの環境変数を設定
ENV TZ=Etc/UTC
ENV DEBIAN_FRONTEND=noninteractive

# パッケージリストの更新と基本ツールのインストール
RUN apt-get update && apt-get install -y \
    tzdata \
    curl \
    wget \
    vim \
    sudo \
    && apt-get clean && rm -rf /var/lib/apt/lists/*

# 作業ディレクトリの設定
WORKDIR /workspace

④Codespacesを開始
→リポジトリ画面で「Code」ボタンをクリック「Codespaces」を選択→「Create codespace main」を選択

image.png

⑤Codespacesでコンテナビルドと起動

#ビルド
docker build -t ubuntu20.04-custom .
#起動
docker run -it ubuntu20.04-custom

image.png

⑥iPadのWebブラウザ(SafariやGoogle Chrome)からアクセス可能。必要に応じてGitHubの「GitHub App」をインストール。

方法②AWS+EC2のクラウドベースの環境を構築しiPadのアプリからSSH接続する

用語説明

・AWS(Amazon Web Services):インターネット経由でサーバーやストレージ、ネットワークなどを提供するクラウドサービス
・EC2(Elastic Compute Cloud):仮想サーバーを提供するサービス。自分専用のリモートサーバーを作成してさまざまな用途で利用可能
・インスタンス:クラウド上で動作する仮想サーバーのこと

実施手順

①AWS公式サイト(https://aws.amazon.com/jp/ )にアクセスして、無料アカウントを作成する

image.png

②AWSコンソールでEC2インスタンスを作成。
(※EC2のt2.microインスタンス(仮想サーバー)は12ヶ月間無料で利用可能)

・以下のコンソール画面で、メイン画面の「最近アクセスしたサービス」で「EC2」をクリックする
image.png

・インスタンスを起動する
image.png

・OSを選択する。コンテナ構築したいので以下の3つから選ぶ
・Amazon Linux 2:AWS公式の軽量OS。AWSサービスとの親和性が高く、サポートも充実。
・Ubuntu:世界的に人気が高く、ドキュメントやサポートが豊富。
・Red Hat系:Podmanの開発元であるRed Hatと互換性があるOS。

・インスタンスタイプを選択する。ここでは、「t2.micro」を選択する(無料利用枠に該当)

・セキュリティ設定(SSHキーの設定)を設定する。「キーペア作成」を選択する
※SSHキー(.pemファイル)を新規作成してダウンロードする。このキーはiPadやPCからサーバーに接続するために必要

image.png

・インスタンスを起動する。すべての設定を確認し、「起動」ボタンをクリックする。以上でEC2インスタンスの準備完了
※ローカルのpowershellからログインで接続確認できる
コマンドは、インスタンスに接続>SSHクライアントから確認できる

※トラブルシューティング
以下のログが出た場合の確認方法は、この記事参考に実施すること(https://qiita.com/ken992/items/101e9de458eb173971f5)
image.png

補足:IMAロール変更>アクセス管理>ポリシー>でポリシーを作成する(ポリシー内容は参考サイトを参照すること)。
そのあと、IMAロールを新規作成する。IMAロールをEC2インスタンスにアタッチする(インスタンス作成時の高度な詳細で対応可能)

重要:IMAがAmazon Linuxの場合、SSHに成功した。RedHatOSを使用するとリポジトリにec2-instance-connectがないので失敗する。

ec2-instance-connectを成功させるためには以下のコマンドをEC2インスタンス上で実施する必要がある

sudo yum update
sudo yum install ec2-instance-connect

成功するとEC2インスタンス上に以下の画面が表示される

image.png

③SSHアプリ(例: Termius)をiPadにインストールしてリモート接続する

・App Storeから「Termius」アプリをインストールする(無料で使用可能)
・Termius->Keychain->Add keyでキーをインポートする
(今回はGoogleドライブからインポート)
・Hostで新しいホストを追加する

以下の情報を入力:

Alias(エイリアス): 接続の名前(例: My EC2 Server)
Address(アドレス): EC2のパブリックDNSまたはIP(例: ec2-xx-xx-xx-xx.ap-northeast-1.compute.amazonaws.com)。
Port(ポート): 22(デフォルトのSSHポート)
Username(ユーザー名): ec2-user
Password(パスワード): 空白
Private Key(秘密鍵): 先ほどインポートしたKeyを選択

設定が完了したら自動接続される。正常に接続できると、リモートサーバーのターミナルが表示される。

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?