その昔、KemaNetというソフトウェアを作っていた人の、自分用メモのサイトです。
|
<<
2025.12
>>
[Stories] |
||||||
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | |||
systemctl --user enable --now podman.socket
loginctl enable-linger $USER
こうしておけば docker compose コマンドを podman api 経由で実行可能になる
DOCKER_HOST=unix://$XDG_RUNTIME_DIR/podman/podman.sock docker compose up -d
rootless podman/docker に優しい仕様
echo "net.ipv4.ip_unprivileged_port_start=80" | sudo tee /etc/sysctl.d/99-podman-ports.confsudo sysctl --system
net.ipv4.ip_unprivileged_port_start=0 にすると、全ポートを非特権ユーザーに開放できる
SELinux やファイアウォールまで考慮するとこんな感じになる
# カーネルに非特権ユーザーに全ポートを使わせる
echo "net.ipv4.ip_unprivileged_port_start=0" | sudo tee /etc/sysctl.d/99-podman-ports.confsudo sysctl --system
# SELinux にコンテナプロセスのネットワークポートバインドを緩和させる
sudo setsebool -P container_connect_any 1
# 実際に使うポートが SELinux に定義済みかを確認
sudo semanage port -l
# 未定義だった場合は SELinux に定義追加
sudo semanage port -a -t 適切なタイプ -p tcp ポート番号
# 外部から待ち受けする場合はファイアウォールの穴あけも実施する
# firewalld の場合
sudo firewall-cmd --add-port=ポート番号/tcp --permanent
sudo firewall-cmd --reload
二度とこうやって聞いてこないよう、docker.io に決め打ちしたいのです
$ podman run --rm redis:6.0 redis-server
? Please select an image:
->docker.io/library/redis:6.0
quay.io/redis:6.0
ユーザー毎の registries.conf にリポジトリを docker.io だけ指定します
conf_src="/etc/containers/registries.conf"
conf_user="$HOME/.config/containers/registries.conf"
[ -d "${conf_user%/*}" ] || mkdir -p "${conf_user%/*}"
sed '/^unqualified-search-registries.*quay.io/s/=.*/= ["docker.io"]/' "$conf_src" |
sed '/^registries.*quay.io/s/=.*/= ["docker.io"]/' >"$conf_user"
もとに戻したい場合
rm $HOME/.config/containers/registries.conf
GitHub - ohtorii/dnsmasq_adblock: Make dnsmasq ad-block list.