Open3

ChromeOSにDockerComposeの環境を構築する

のぶのぶ

ChromeOSのバージョンは2023/5/7現在の最新版の 112.0.5615.134 とします。

大まかな手順としては、以下のようにインストールしていきます。

  1. Docker Engineのインストール
  2. Docker Composeのインストール

ChromeOSにインストールされているLinux開発環境は、Debianの11(bullseye)です。

のぶのぶ

Docker Engineのインストール

インストール手順は公式で案内されているものに従って行います。 公式

古いバージョンの削除

インストール前に先に古いバージョンを削除します。

$ sudo apt-get remove docker docker-engine docker.io containerd runc

このとき、イメージやコンテナなどは削除されません。
もし一緒に削除したい場合は、 Uninstall Docker Engineを参考に行ってください。

aptリポジトリのセットアップ

必要なパッケージをインストールする

$ sudo apt-get update
$ sudo apt-get install ca-certificates curl gnupg

DockerのGPGキーを追加する

$ sudo install -m 0755 -d /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg

Dockerのリポジトリを設定する

$ echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Docker Engineのインストール

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

root以外のユーザでDockerコマンドを使う

デフォルトでは、rootユーザしかDockerコマンドを利用することはできません。
Dockerコマンドは実行ユーザに制限をかけたいものでもないので、それ以外の特定のユーザでも実行できるようにします。

$ sudo usermod -aG docker $USER
$ newgrp docker
dockerグループが無い場合

Docker Engineインストール時に docker というユーザグループができているはずですが、もし無かった場合は以下のコマンドで追加してください。

$ sudo groupadd docker
のぶのぶ

Docker Composeのインストール

インストール手順は公式で案内されているものに従って行います。 公式

Docker Composeは通常Docker Desktopとともにインストールされますが、ChromeOSではkvmを使うことができないためDocker Desktopのインストールができません。
そのため、Docker Desktopではなく、Docker Engineをインストールしています。

ここでは、スタンドアロンのDocker Composeをインストールします。

$ sudo curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
$ sudo chmod a+x /usr/local/bin/docker-compose