1. はじめに
今回は、自分自身への備忘録を兼ねて、Raspberry Pi にインストールしたUbuntu 18.04 LTS(arm64)上に Docker & docker-compose をインストールする方法を、お伝えしたいと思います。
2. この記事を読んでできること
- Ubuntu 18.04 LTS(arm64)で Docker & docker-compose を使えるようになる。
3. 注意事項
- 特になし。
4. 必要なもの
- Ubuntu 18.04 LTS(arm64)が動作しているホストOS環境(この記事では Raspberry Pi3B + Ubuntu 18.04 LTS(arm64)を想定)
- SDカード(16GB以上推奨)
- インターネット環境(有線LAN推奨)
- キーボード
- HDMIディスプレイ
5. Ubuntu 18.04 LTS(arm64)の入手
- 以下のURLから、OSイメージファイル(Raspberry Pi 3 (64-bit ARM) preinstalled server image)をダウンロードする。
ダウンロードサイトURL
http://cdimage.ubuntu.com/ubuntu/releases/18.04.4/release/
参考:この記事作成時のファイルバージョン:ubuntu-18.04.4-preinstalled-server-arm64+raspi3.img.xz
6. microSDカードのフォーマット
-
SD Formatter for Windowsなどのソフトを用いて、使用するmicroSDカードをフォーマットする。
-
フォーマット形式は「FAT32」を選択することを推奨します。
7. microSDカードへOSイメージの書き込み(所要時間:5分)
-
Etcherなどのソフトを用いて、使用するmicroSDカードへOSイメージを書き込む。
-
Etcherは、圧縮されたままのOSイメージ(拡張子が.img等)を解凍せずにそのまま扱えておすすめです。
8. microSDカード の完成
- 完成した microSDカード を、PCからおもむろに抜き取る。
9. Ubuntu 18.04 LTS(arm64)の起動
- Raspberry PiにmicroSDカードを挿入し、Ubuntu 18.04 LTS(arm64)を起動する。
デフォルトユーザ名/パスワード
ユーザ名 :ubuntu
パスワード:ubuntu
10. dockerおよびdocker-composeのインストール
コマンドプロンプト
// 新しいパスワードの設定
// IPアドレスの確認
$ ip a
// Windows10などからSSH接続
// パッケージのアップデート
$ sudo apt update
$ sudo apt -y upgrade
// 空き容量の確認
$ df -h
// ラズパイ用PPAの追加
$ sudo add-apt-repository ppa:ubuntu-raspi2/ppa
ENTER
$ sudo apt-get update
$ sudo groupadd -f --system gpio
$ sudo groupadd -f --system i2c
$ sudo groupadd -f --system input
$ sudo groupadd -f --system spi
// パッケージのアップデート
$ sudo apt update
// 必要パッケージをインストール
$ sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
// Dockerの公式GPG keyを追加
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
// repository( stable ) を追加
$ sudo add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
// パッケージのアップデート
$ sudo apt update
// docker をインストール
$ sudo apt install -y docker-ce
// Dockerステータスの確認
$ sudo systemctl status docker
q
// Dockerプロセスの確認
$ sudo docker ps
// dockerグループの確認
$ cat /etc/group | grep docker
docker:x:996:
// dockerグループの追加
$ sudo gpasswd -a ubuntu docker
// dockerグループの確認
$ cat /etc/group | grep docker
docker:x:996:ubuntu
// ソケットファイルのパーミッションの確認
$ ls -la /var/run/docker.sock
// ソケットファイルのパーミッションを変更
$ sudo chmod 666 /var/run/docker.sock
// Dockerプロセスの確認
$ docker ps
// python3のインストール
$ sudo apt -y install python3-pip
// 必要ライブラリのインストール
$ sudo apt install libffi-dev
$ sudo apt install libssl-dev
// docker-composeの入手
$ sudo pip3 install -U docker-compose
// docker-composeの確認
$ which docker-compose
/usr/local/bin/docker-compose
// dockerのバージョン確認
# docker -v
Docker version 19.03.6, build 369ce74
// docker-composeのバージョン確認
$ docker-compose -v
docker-compose version 1.25.4, build unknown
11. dockerの動作確認
コマンドプロンプト
// dockerの実行(ハローワールド)
# docker run --rm hello-world
12. docker-composeの動作確認
- docker-compose.ymlファイルを作成し、ファイル保存する。
docker-compose.yml
version: "2"
services:
app:
image: hello-world
- docker-composeを実行する。
コマンドライン
// docker-compose.ymlファイルが存在することを事前確認
# ls
docker-compose.yml
// docker-composeを実行
# sudo docker-compose up
13. 参考:Dockerコマンド、docker-composeコマンド
14. おわりに
いかがでしたでしょうか?意外と簡単にDocker & docker-composeをはじめることができたのではないかなと思います。
今回の記事が、みなさまの学習の参考になれば幸いです。
2020/02/23 TAKAHIRO NISHIZONO
15. 追記その1:コマンドでのWiFiの設定
コマンドプロンプト
// NetworkManagerをインストール
$ sudo apt -y install network-manager
// OS再起動
$ sudo shutdown -r now
// IPアドレスの確認
$ ip a
// サービスの確認
$ sudo service NetworkManager status
q
// wifiリストの確認(SSID名を確認する)
$ nmcli device wifi list
// wifiの接続
$ sudo nmcli device wifi connect 'SSID名' password 'WIFIパスワード' ifname wlan0
// IPアドレスの確認
$ ip a
// 補足:テキストユーザインターフェースでのWifi接続設定の場合のコマンド
$ nmtui
16. 追記その2:コマンドでのホスト名の設定変更
コマンドプロンプト
// preserve_hostnameをtrueに変更
$ sudo vi /etc/cloud/cloud.cfg
===
#preserve_hostname: false
preserve_hostname: true
===
// ホスト名を設定(デフォルトのubuntu から raspberrypi3 に変更)
$ sudo hostnamectl set-hostname raspberrypi3
// ubuntuのホスト名解決のためだけにsambaを入れる(sambaは使わない)
// これで、WindowsPC側からホスト名で接続できるようになるはず(まれに接続できないこともある)
$ sudo apt-get -y install samba
// OS再起動
$ sudo reboot