いろいろやってみるにっき

てきとーに生きている奴の日記

古いエントリのサムネイル画像がリンク切れになってたりするけど、チマチマ修正中


Amazon Linux 2にVS CodeをインストールしDockerのコンテナに直接アクセス

せっかくのオンプレミスなのでxrdpで接続できるようにし、文字化けを直したAmazon Linux 2。

 

shigeo-t.hatenablog.com

shigeo-t.hatenablog.com

shigeo-t.hatenablog.com

shigeo-t.hatenablog.com

 

最終目的はDockerのコンテナに直接アクセス。長いタイトルだけど実際には『Amazon Linux 2にChroniumをインストールしChromeをインストールしVS CodeをインストールしDockerのコンテナに直接アクセス』である。

 

AWSの技術ドキュメント通りChroniumインストール

 そんな都合のよいドキュメントがこちら。

aws.amazon.com

ウェブブラウザをインストールする:

AWS は現在、Amazon Linux 2 リポジトリMozilla FirefoxGoogle Chromium などのウェブブラウザを提供していません。こうしたブラウザの 1 つをインストールするには、以下の手順に従います。

注意: AWS は、サードパーティーソースからインストールされたソフトウェアをサポートしていません。

Chromium (Google Chromeオープンソースバージョン)

1.    EPEL リポジトリを有効にします。詳細については、Fedoraproject.org ウェブサイトの EPEL ドキュメントを参照してください。

sudo amazon-linux-extras install epel

2.    Chromium パッケージをインストールします。

sudo yum install chromium

Chromium は、アプリケーション、インターネット、Chromium ウェブブラウザの MATE にインストールされます。

 インストールされた。

f:id:shigeo-t:20201026141544p:plain

 

Chromeインストール

wgetで持ってくれば済むのに、それが面倒で上記でインストールしたChronium。Chromeのトップページにアクセス。

f:id:shigeo-t:20201026141639p:plain

 ダウンロードページに飛ぶ。

f:id:shigeo-t:20201026141725p:plain

 間違ってデフォルトのdebファイルもダウンロードしたけど、rpmファイルをダウンロード。

f:id:shigeo-t:20201026141855p:plain

 手順はこちら。

optimal-sdw.com

 

rpmファイルをインストールする。

cd ~/download/
$ sudo rpm -ivh google-chrome-stable_current_x86_64.rpm

 

インストールできた。

f:id:shigeo-t:20201026142953p:plain

 

Visual Studio Codeをインストール

VS Codeのサイトにアクセス。今度は間違えずrpmファイルをダウンロード。

f:id:shigeo-t:20201026143157p:plain

 

インストールのコマンドはこちら。

code.visualstudio.com

 インストールできた。 

[ec2-user@amazonlinux2 Downloads]$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
[ec2-user@amazonlinux2 Downloads]$ sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
[ec2-user@amazonlinux2 Downloads]$ yum check-update
読み込んだプラグイン:langpacks, priorities, update-motd
amzn2-core                                               | 3.7 kB     00:00     
code                                                     | 3.0 kB     00:00     
google-chrome                                            | 1.3 kB     00:00     
(1/2): code/primary_db                                     | 490 kB   00:00     
(2/2): google-chrome/primary                               | 1.8 kB   00:00     
google-chrome                                                               3/3
275 packages excluded due to repository priority protections
[ec2-user@amazonlinux2 Downloads]$ sudo yum install code
読み込んだプラグイン:langpacks, priorities, update-motd
amzn2-core                                               | 3.7 kB     00:00     
code                                                     | 3.0 kB     00:00     
google-chrome                                            | 1.3 kB     00:00     
(1/2): code/primary_db                                     | 490 kB   00:00     
(2/2): google-chrome/primary                               | 1.8 kB   00:00     
google-chrome                                                               3/3
275 packages excluded due to repository priority protections
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ code.x86_64 0:1.50.1-1602601064.el7 を インストール
--> 依存性の処理をしています: libgdk-x11-2.0.so.0()(64bit) のパッケージ: code-1.50.1-1602601064.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ gtk2.x86_64 0:2.24.31-1.amzn2.0.2 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package     アーキテクチャ
                           バージョン                   リポジトリー       容量
================================================================================
インストール中:
 code        x86_64        1.50.1-1602601064.el7        code               89 M
依存性関連でのインストールをします:
 gtk2        x86_64        2.24.31-1.amzn2.0.2          amzn2-core        3.4 M

================================================================================
インストール  1 パッケージ (+1 個の依存関係のパッケージ)

総ダウンロード容量: 92 M
インストール容量: 274 M
Is this ok [y/d/N]: y
Downloading packages:
(1/2): gtk2-2.24.31-1.amzn2.0.2.x86_64.rpm                 | 3.4 MB   00:00     
(2/2): code-1.50.1-1602601064.el7.x86_64.rpm               |  89 MB   00:09     
--------------------------------------------------------------------------------
合計                                                10 MB/s |  92 MB  00:09     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告: RPMDB は yum 以外で変更されました。
  インストール中          : gtk2-2.24.31-1.amzn2.0.2.x86_64                 1/2 
  インストール中          : code-1.50.1-1602601064.el7.x86_64               2/2 
  検証中                  : gtk2-2.24.31-1.amzn2.0.2.x86_64                 1/2 
  検証中                  : code-1.50.1-1602601064.el7.x86_64               2/2 

インストール:
  code.x86_64 0:1.50.1-1602601064.el7                                           

依存性関連をインストールしました:
  gtk2.x86_64 0:2.24.31-1.amzn2.0.2                                             

完了しました!

 

VS Codeが追加されている。

f:id:shigeo-t:20201026143720p:plain

 

拡張機能を追加してDockerのコンテナに直接アクセス

起動してまず日本語化。

f:id:shigeo-t:20201026143840p:plain

 

続いてDocker関係とssh関係の拡張機能をインストール。 

f:id:shigeo-t:20201026144031p:plain

 

インストールした拡張機能はこちら。全てMicrosoft謹製。

f:id:shigeo-t:20201027033823p:plain

 

接続してみる。

f:id:shigeo-t:20201026144436p:plain

右クリックするとこのようなメニューが出る。

f:id:shigeo-t:20201026144523p:plain

 Attach Shellを選ぶとこのようにターミナルが現れる。

f:id:shigeo-t:20201026144611p:plain

f:id:shigeo-t:20201027034808p:plain

 

左下の><アイコンをクリックするとこのプルダウンメニューが表示される。[Remote-Containers:Attach to Running Container…]をクリックする。

f:id:shigeo-t:20201026144753p:plain

 接続したい方を選びEnterを押す。

f:id:shigeo-t:20201026144828p:plain

別ウィンドウでつながった。

f:id:shigeo-t:20201026144920p:plain

f:id:shigeo-t:20201026144953p:plain

 アクセス先フォルダーを選択する。

f:id:shigeo-t:20201026145320p:plain

 とりあえず/etcを選ぶ。

f:id:shigeo-t:20201026145148p:plain

 inittabを開いて見る。

f:id:shigeo-t:20201026145449p:plain

 

 ということでdocker exec -it bashなしでもターミナルは開くし、ターミナルでviを使わなくても編集できる。Windows側のVS Codeを使うよりも便利である。AWS上でこういう環境を作ることはまあ無いと思うけど、オンプレミスの開発環境ならいいだろう。

お時間あったら、他のエントリもクリックして頂ければ幸いです。