1. 概要
1-1. colima とは
colima は docker desktop の代わりに使えるオープンソースツール。
docker daemon の生成立ち上げを裏側でやってくれるので、 docker desktop なしで docker コマンドが使えるようになる。
インストール方法については、以下の記事を参考にされたい!(他力本願)
1-2. この記事に書いたこと
さて、そうして colima の上で数ヶ月ほど docker を使っていた私ですが、急に docker コマンドが使えなくなったので、その対策を記したのがこの記事です。
以下の3つについて書きました。
- image build エラーとその対策
- container up エラーとその対策
- build 時に利用するリソース容量の設定方法
2. 発生した問題
2-1. up の失敗
docker compose up が突如失敗するようになった。
.colima/default/docker.sock が見つからないようである、
% docker compose up
unable to get image 'experiment-uv_env': Cannot connect to the Docker daemon at unix:///Users/user_name/.colima/default/docker.sock. Is the docker daemon running?
MacOS のアップデートとか、マシンの強制終了とか、充電不足でシャットダウンとか色々やったので、そうした影響かもしれない...。
この件の対処法は 4-1. に記載しました。
2-2. build 失敗
そもそも base イメージの取得で失敗するようになった。
docker compose build
[+] Building 1.1s (3/3) FINISHED
=> [internal] load local bake definitions 0.0s
=> => reading from stdin 735B 0.0s
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 4.61kB 0.0s
=> ERROR [internal] load metadata for docker.io/library/ubuntu:24.04 0.8s
------
> [internal] load metadata for docker.io/library/ubuntu:24.04:
------
[+] build 0/1
⠙ Image drake-tamp-username Building 1.2s
Dockerfile:1
--------------------
1 | >>> FROM ubuntu:24.04
2 | # FROM nvidia/cuda:11.1.1-runtime-ubuntu18.04
3 |
--------------------
failed to solve: error getting credentials - err: exec: "docker-credential-desktop": executable file not found in $PATH, out: ``
原因は不明。こちらの対処法は 4-2. に記載している。
3. 実行環境
| item | Version など |
|---|---|
| OS | macOS Sequoia 15.7.3 |
| chip (CPU) | Apple M2 |
| colima | 0.9.1 |
| Docker | 29.2.1, build a5c7197d72 |
4. 対策
さぁ、なんとかしよう!(๑•̀ •́)و✧グッ❢
4-1. up 失敗に関して
4-1-1. 現状把握
まずは現状の確認だ。
% brew services info colima
colima (homebrew.mxcl.colima)
Running: ✘
Loaded: ✔
Schedulable: ✘
colima が動いてない。。。
4-1-2. うまく行った対処法
これで治りました!
% colima delete
are you sure you want to delete colima and all settings? [y/N] y
INFO[0002] deleting colima
INFO[0005] done
% colima start
INFO[0000] starting colima
INFO[0000] runtime: docker
INFO[0003] creating and starting ... context=vm
INFO[0023] provisioning ... context=docker
INFO[0025] starting ... context=docker
INFO[0026] done
これで docker compose up もできるようになりました( *¯ ꒳¯*)✨
4-1-3. 自動起動設定もしよう!
ここまでできたら、以下のコマンドを実行しておいてもいいかも。これで、 Mac の電源を入れた際に自動で colima が立ち上がるようになるらしい。
% brew services start colima
✔︎ JSON API formula.jws.json Downloaded 31.9MB/ 31.9MB
✔︎ JSON API cask.jws.json Downloaded 15.3MB/ 15.3MB
==> Successfully started `colima` (label: homebrew.mxcl.colima)
はい。なりました。
PC シャットダウンしたりしても、自動で colima が立ち上がるようになったので、とても便利ですよ(*˘︶˘*).。.:*
4-1-4. うまくいかなかった方法
他にも以下のような方法が考えられますが、以下の方法では問題は解消できませんでした。
colima の再起動
brew services stop colima
brew services start colima
docker.sock の権限変更
sudo chown user_name unix:///Users/user_name/.colima/default/docker.sock
sudo chown user_name /Users/user_name/.colima/default/docker.sock
そもそもファイルが作られてなくて No such file or directory になる。
colima のコマンドで再起動
% colima start
INFO[0001] starting colima
INFO[0001] runtime: docker
INFO[0004] starting ... context=vm
> Using the existing instance "colima"
> Starting the instance "colima" with internal VM driver "vz"
> [hostagent] hostagent socket created at /Users/user_name/.colima/_lima/colima/ha.sock
> [hostagent] Starting VZ (hint: to watch the boot progress, see "/Users/user_name/.colima/_lima/colima/serial*.log")
> exiting, status={Running:false Degraded:false Exiting:true Errors:[] SSHLocalPort:0 CloudInitProgress:<nil>} (hint: see "/Users/user_name/.colima/_lima/colima/ha.stderr.log")
FATA[0005] error starting vm: error at 'starting': exit status 1
これもダメだった。先に delete する必要があるようです。
4-2. build 失敗に関して
~/.docker/config.json の以下の箇所を修正すると良い。
{
"auths": {},
"cliPluginsExtraDirs": [
"/opt/homebrew/lib/docker/cli-plugins"
],
- "credsStore": "desktop",
"currentContext": "colima"
}
"credsStore": "desktop", を消してファイルを保存すれば、上記のエラーを回避して build できるようになった。
5. Memo : 設定の変更方法
docker build 時に使用されるメモリやディスク容量など、さまざまな設定を以下のファイルで変更することができる。
~/.colima/default/colima.yaml
このファイルは、 colima delete すると消えてしまう。そのため、以下のような手順で設定変更を行うことになる。
# 1. colima の起動: ここで設定ファイルが作成される
colima start
# 2. colima の停止: stop しても設定ファイルは消えない
colima stop
# 3. Edit setting
vim ~/.colima/default/colima.yaml
# 4. colima を再度起動
colima start
colima の状態は colima list コマンドで確認することができる。
colima list
PROFILE STATUS ARCH CPUS MEMORY DISK RUNTIME ADDRESS
default Running aarch64 2 2GiB 100GiB docker
上記の手順に沿って変更を行うと、以下のように設定を変えることができる(*˘︶˘*).。.:*
colima list
PROFILE STATUS ARCH CPUS MEMORY DISK RUNTIME ADDRESS
default Running aarch64 4 20GiB 100GiB docker