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

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

https化に伴い、表示できなくなっているリンクについて修復中。
2018年から遡って修正し、2015年分まで修正完了。


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上でこういう環境を作ることはまあ無いと思うけど、オンプレミスの開発環境ならいいだろう。