カテゴリー: 開発者向け

ChromebookのLinux(crostini)にdockerとdocker-composeをインストールする

Linux crostiniに対応しているChromebookは、コンテナ仮想化ツールDockerが普通のLinuxと同じように使えます。ChromebookにDockerとDocker-composeをインストールする方法をまとめました。

Dockerのインストール

ChromebookのLinux環境はDebianベースなので、Docker公式のインストール方法が利用できます。

Install Docker Engine on Debian

まずは、Dockerの依存パッケージをインストールします。

sudo apt-get update

sudo apt-get install \
  apt-transport-https \
  ca-certificates \
  curl \
  gnupg-agent \
  software-properties-common

続いて、DockerレポジトリのGPGキーを追加します。

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

sudo apt-key fingerprint 0EBFCD88

DockerのDebainレポジトリを追加します。

sudo add-apt-repository \
 "deb [arch=amd64] https://download.docker.com/linux/debian \
 $(lsb_release -cs) \
 stable"

レポジトリをアップデートして、Dockerをインストールします。

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

テストとしてhello-worldコンテナを実行してみます。

sudo docker run hello-world

以下のような表示が出てくれば成功です。ChromebookでDockerが使えます。

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:d58e752213a51785838f9eed2b7a498ffa1cb3aa7f946dda11af39286c3db9a9
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

これで、ChromebookでDockerが使えるようになりました。

Intel CPUを搭載したChromebookであれば特に意識する必要はないですが、ARMベースのCPUを搭載したChromebookでは、動かないコンテナがあったり、ARMイメージを指定する必要がある場合があるので注意してください。

ちなみに、2020年1月以降のChrome OSアップデートを受け取っているChromebookは、localhostがChrome OSとLinux環境で共通化しているので、Linux環境で立ち上げたコンテナには「localhost:ポート番号」でアクセス可能です。

このあたりの使い勝手は、WindowsやMacにインストールしたDockerと同じになっています。

Docker-composeのインストール

続いて、Dockerコンテナを簡単にオーケストレーションできるDocker-composeをインストールします。

まず、スーパーユーザーに入ります。

sudo su

Docker公式Githubレポジトリの、Docker-composeリリースダウンロードから、最新版をcurlでダウンロードします。

curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

1.26.2の部分は、下記のリリースページの最新版の数字を入れます。

Releases docker / compose

Docker-composeをダウンロードしたディレクトリで、下記のコマンドを実行します。

chmod +x /usr/local/bin/docker-compose

ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

実行権限を与えて、シンボリックリンクを付与しているだけですが、これでDocker-composeのインストール完了です。

コマンドからバージョン表示をしてみます。

docker-compose --version

docker-compose version 1.26.2, build 1110ad01

インストール出来てますね。

Dockerはroot権限で動かすので、dokcerコマンドもdocker-composeコマンドもsudoが必要です。

ユーザーをdockerグループに追加することで、sudoなしでも動かせますが、公開サーバーでDockerをsudoなしで動かせるのはリスキーなので、個人的にはsudo付きで慣れるためにそのままで利用するクセをつけておくのをオススメします。


Chromebookのlinux(crostini)にdockerとdocker-composeをインストールする方法を見てきました。Debianのインストール方法まんまなので、特別Chromebookだからという作業はありません。

筆者個人としては、開発環境も本番環境もすべてDocker化しているので、ChromebookがDockerに対応したのはかなりうれしいところです。DockerはLinux環境を汚すことなく、簡単にLinuxアプリを構築できるのでオススメです。

「開発者向け」の記事

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

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

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

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

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

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

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

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

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

シリーズ・連載