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の部分は、下記のリリースページの最新版の数字を入れます。
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アプリを構築できるのでオススメです。