Ubuntuにスワップを作成する(ラズパイ)
ラズパイのスペックは下記の通りです
- Raspberry Pi 3B
- メモリ1GB
- SDカード32GB
メモリが少ないのでDockerを使用するには少ないので、8GBのスワップメモリを作成します
- 何も表示されない場合はスワップは作成されていない
- ストレージの容量を確認します
- スワップ用のファイルを作成する
1
2
|
sudo fallocate -l 8G /swapfile
ls -lh /swapfile
|
- スワップファイルを設定して、有効にします
1
2
3
|
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
|
- 再度確認をします
- スワップが作成されています
1
2
3
|
mao@raspberrypi3:~$ sudo swapon --show
NAME TYPE SIZE USED PRIO
/swapfile file 8G 0B -2
|
- スワップの永続設定をする
1
|
/swapfile none swap sw 0 0
|
UbuntuにDockerをインストールする
公式ドキュメントを参考にインストールする
debをダウンロードする
- 2024年10月05日時点での最新版をダウンロードする
- amd64ではなくarm64をダウンロードする
1
2
3
4
5
|
wget https://download.docker.com/linux/ubuntu/dists/noble/pool/stable/arm64/containerd.io_1.7.22-1_arm64.deb \
wget https://download.docker.com/linux/ubuntu/dists/noble/pool/stable/arm64/docker-buildx-plugin_0.17.1-1~ubuntu.24.04~noble_arm64.deb \
wget https://download.docker.com/linux/ubuntu/dists/noble/pool/stable/arm64/docker-ce-cli_27.3.1-1~ubuntu.24.04~noble_arm64.deb \
wget https://download.docker.com/linux/ubuntu/dists/noble/pool/stable/arm64/docker-ce_27.3.1-1~ubuntu.24.04~noble_arm64.deb \
wget https://download.docker.com/linux/ubuntu/dists/noble/pool/stable/arm64/docker-compose-plugin_2.29.7-1~ubuntu.24.04~noble_arm64.deb
|
インストールをする
1
2
3
4
5
|
sudo dpkg -i ./containerd.io_<version>_<arch>.deb \
./docker-ce_<version>_<arch>.deb \
./docker-ce-cli_<version>_<arch>.deb \
./docker-buildx-plugin_<version>_<arch>.deb \
./docker-compose-plugin_<version>_<arch>.deb
|
1
2
3
4
5
|
sudo dpkg -i ./containerd.io_1.7.22-1_arm64.deb \
./docker-ce_27.3.1-1~ubuntu.24.04~noble_arm64.deb \
./docker-ce-cli_27.3.1-1~ubuntu.24.04~noble_arm64.deb \
./docker-buildx-plugin_0.17.1-1~ubuntu.24.04~noble_arm64.deb \
./docker-compose-plugin_2.29.7-1~ubuntu.24.04~noble_arm64.deb
|
- containerd.io_1.7.22-1_arm64.deb
- docker-ce_27.3.1-1-ubuntu.24.04~noble_arm64.deb
- docker-ce-cli_27.3.1-1-ubuntu.24.04~noble_arm64.deb
- docker-buildx-plugin_0.17.1-1-ubuntu.24.04~noble_arm64.deb
- docker-compose-plugin_2.29.7-1-ubuntu.24.04~noble_arm64.deb
バージョン確認
dockerとdocker composeのバージョンを確認する
1
2
|
sudo docker version
sudo docker compose version
|
Cloudflare Tunnelを作成する
トンネルをCloudflareのサイトで作成する
- Cloudflareのホーム画面の左側のメニューから"Zero Trust"を押します
- その後、左側のメニューから"Networks">“Tunnels"を押します
- “Tunnels"の画面になったら"“を押してTunnelを作成します
- “Create a tunnel"と表示された画面になります
- “Select your tunnel type"は"Cloudflared"を選択して"Next"を押します
- “Name your tunnel"に自分がわかるようにTunnelの名前を入力し、“Save Tunnel"を押します
- すると"Configure"t表示された画面になります
- “Choose your environment"は"Docker"を選択します
- “Install and run a connector"にdockerコマンドとトークンが表示されるので、コピーしておきます
- トークンは他の人には絶対に見せないでください(トークンがあれば接続できてしまいます)
- コピーをしたら"Next"を押します
- “Add public hostname for TunnelName"と表示された画面になります
- “Subdomain"にはサブドメイン名を入力します
- “Domain"にはCloudflareで管理されているドメインが選択できます
- “Service"の"Type"にはHTTPやSSHなどを選択できます
- “URL"にはdocker composeの場合はコンテナ名とポートを入力し、“Save tunnel"を押します
- (例)Type:“HTTP”,Service:“nginx:8080”
- “Tunnels"と表示された画面に戻ります、以上でトンネルが作成されます
dokcer composeファイルの作成と起動・停止
compose.yamlファイルの作成をする
1
2
3
4
5
6
7
8
9
10
|
services:
blog:
image: nginx:latest
tunnel:
restart: always
image: cloudflare/cloudflared:latest
command: tunnel --no-autoupdate run
environment:
- TUNNEL_TOKEN=トンネル作成時のトークンをここに記載する
|
起動と停止のコマンド
1
2
|
sudo docker compose up -d
sudo docker compose down --volumes
|
アクセスする
docker composeで起動し、設定したサブドメインにアクセスして画面が表示されれば無事起動されトンネルができている
下記の画像は"raspberrypi3b"をサブドメインとして設定した
503等がでると、cloudflaredは起動しているがdocker compose内での接続が上手く行っていない可能性がある
※コンテナ名やポート番号が異なるなど

参考URL
- MisskeyをDocker Compose+Cloudflare Tunnelでサクッと建てる
- 個人的docker composeおすすめtips 9選
- cloudflare tunnelで自宅サーバー(動的IP)を運用したい、しかもdocker composeで