カテゴリー: 開発者向け

ChromebookのLinux環境で複数コンテナを実行する方法

ChromebookのLinux環境で複数コンテナを実行する方法をまとめました。この方法を使えば、Chromebook内で、UbuntuなどのDebian以外のOSを使ったり、複数の仮装環境を同時に実行したりすることが出来ます。

Terminaとcrostiniを確認する

まずは、croshに(ctrl + alt + t)入ります。Termina VMに入りたいので、何かLinuxアプリを立ち上げます。標準のLinuxターミナルなどでOKです。

Linuxアプリが立ち上がったら、Termina VMが起動しているはずなので、croshからTermina VMに入ります。

crosh > vsh termina
(termina) chronos@localhost ~ $

現在起動しているコンテナを確認します。

(termina) chronos@localhost ~ $ lxc list
+-------------+---------+------------------------------+----------------------------------------------+------------+-----------+
|    NAME     |  STATE  |             IPV4             |
      IPV6                     |    TYPE    | SNAPSHOTS |
+-------------+---------+------------------------------+----------------------------------------------+------------+-----------+
| penguin     | RUNNING | 172.18.0.1 (br-a12532f1f662) |
240b:c010:420:c15a:216:3eff:fe26:6288 (eth0) | PERSISTENT | 0
|
|             |         | 172.17.0.1 (docker0)         |
                               |            |           |
|             |         | 100.115.92.201 (eth0)        |
                               |            |           |
+-------------+---------+------------------------------+----------------------------------------------+------------+-----------+

penguinという名前のコンテナがあることが確認できます。これがcrostiniコンテナですね。

ubuntuコンテナを追加してみる

lxcコマンドからubuntuコンテナを追加してみます。

(termina) chronos@localhost ~ $ lxc launch ubuntu:18.04
Creating the container
Container name is: sought-foal
Starting sought-foal

追加できました。sought-foalというコンテナ名で起動しているようです。

一覧で確認してみます。

(termina) chronos@localhost ~ $ lxc list
+-------------+---------+------------------------------+----------------------------------------------+------------+-----------+
|    NAME     |  STATE  |             IPV4             |
      IPV6                     |    TYPE    | SNAPSHOTS |
+-------------+---------+------------------------------+----------------------------------------------+------------+-----------+
| penguin     | RUNNING | 172.18.0.1 (br-a12532f1f662) |
240b:c010:420:c15a:216:3eff:fe26:6288 (eth0) | PERSISTENT | 0
|
|             |         | 172.17.0.1 (docker0)         |
                               |            |           |
|             |         | 100.115.92.201 (eth0)        |
                               |            |           |
+-------------+---------+------------------------------+----------------------------------------------+------------+-----------+
| sought-foal | RUNNING |                              |
240b:c010:420:c15a:216:3eff:fef2:348b (eth0) | PERSISTENT | 0
|
+-------------+---------+------------------------------+----------------------------------------------+------------+-----------+

sought-foalが「RUNNING」になっていますね。

続いて、作成したUbuntuコンテナに入ってみます。「lxc exec コンテナ名 bash」でコンテナにbashで入れます。

(termina) chronos@localhost ~ $ lxc exec sought-foal bash
root@sought-foal:~#

入れました。

OS情報を確認してみましょう。

root@sought-foal:~# cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Ubuntu 18.04が入っていますね。ここからは普通のUbuntuサーバーと同じようにカスタマイズが出来ます。

コンテナを起動した段階で、ネットワーキングもされているので、aptコマンドでインターネット経由でインストール・アップデートをしたり、ChromeOS標準のcrostiniコンテナから、作成したSSHでログインすることも可能です(要ユーザー設定)。

また、中身をみてみると、Google Driveがマウントされているなど、Chrome OSとの連携もされていました。

コンテナを起動・シャットダウンする

コンテナを起動・シャットダウンなどの操作は、「lxc + 操作 + コンテナ名」で行えます。

lxc stop sought-foal
lxc start sought-foal

複数仮想マシンを起動しているのに近い

起動できるコンテナ数は、システムが許容できる範囲であれば幾つでもコンテナを同時起動できるため、複数仮想マシンを起動しているのとほぼ同じ環境をChromebookで実現できます。

ChromebookにはVirtualboxなどの仮想マシンアプリケーションをインストール出来ないため、プログラミングなど開発環境としてChromebookを本格的に使いたい方には嬉しい使い方ではないでしょうか。


ChromebookのLinux環境で複数コンテナを実行する方法を見てきました。

誰でも簡単に使えるようになっているChromebookのLinux環境ですが、専門的な知識があればもっと深い使い方が出来ますね。

開発者向けの記事

完全無料!Chromebookで開発するなら入れておきたいオススメアプリ

格安でマシンスペックもそこそこなので、Chromebookを開発マシンにしたいという方は意外と多いかと思います。そんな「Chromebookを開発マシンにしたい」または「開発マシンとしてChromebookを検討しているけど本当に使えるのか不安」という方に向けて、Chromebookの開発向けオススメアプリを無料のものだけでピックアップしました。

完全無料!Chromebookで開発するなら入れておきたいオススメアプリ の続きを読む

Chromebookでローカルサーバーを立てる

Chromebookで開発するにもプログラミングの勉強をするにも、ローカルサーバがあると何かと便利です。今回は、Chromebookでローカルサーバーを立てる方法をまとめました。専門知識が不要な方法から、高度な設定が出来る専門的なサーバーまで広くピックアップしています。

Chromebookでローカルサーバーを立てる の続きを読む

Web・アプリなどのプログラミング開発機にChromebookを使う際の選び方

最近は、軽量で比較的安価なことからWeb・アプリのプログラミング開発機として選択肢にあがることが多くなったChromebook。ChromebookをWeb・アプリの開発機として使う際の機種の選び方をまとめました。

Web・アプリなどのプログラミング開発機にChromebookを使う際の選び方 の続きを読む

シリーズ・連載