add nerdctl config
This commit is contained in:
49
nerdctl/setup_nerdctl_config.sh
Executable file
49
nerdctl/setup_nerdctl_config.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
|
||||
# setup_nerdctl_config.sh
|
||||
# 说明:此脚本用于配置 nerdctl 的 rootless 模式配置文件 ~/.config/nerdctl/nerdctl.toml。
|
||||
# 该配置文件包含 nerdctl 的基础配置,如调试模式、socket 地址、命名空间等。
|
||||
|
||||
# 获取当前用户
|
||||
CURRENT_USER=$(whoami)
|
||||
echo "当前用户:$CURRENT_USER"
|
||||
|
||||
# 配置文件路径
|
||||
CONFIG_DIR="$HOME/.config/nerdctl"
|
||||
CONFIG_FILE="$CONFIG_DIR/nerdctl.toml"
|
||||
|
||||
# 创建配置目录
|
||||
mkdir -p "$CONFIG_DIR"
|
||||
|
||||
# 生成 nerdctl 配置文件
|
||||
echo "生成 nerdctl 配置文件..."
|
||||
cat > "$CONFIG_FILE" <<EOF
|
||||
debug = false
|
||||
address = "unix:///run/containerd/containerd.sock"
|
||||
namespace = "buildkit"
|
||||
snapshotter = "overlayfs"
|
||||
cgroup_manager = "cgroupfs"
|
||||
hosts_dir = ["$HOME/.config/containerd/certs.d"]
|
||||
experimental = true
|
||||
EOF
|
||||
|
||||
# 确保 /run/containerd/containerd.sock 权限正确
|
||||
echo "配置 containerd.sock 的权限..."
|
||||
sudo groupadd -f containerd # 创建 containerd 组(如果不存在)
|
||||
sudo usermod -aG containerd "$CURRENT_USER" # 将当前用户添加到 containerd 组
|
||||
sudo chgrp containerd /run/containerd/containerd.sock
|
||||
sudo chmod 660 /run/containerd/containerd.sock
|
||||
|
||||
# 重启相关服务
|
||||
echo "重启相关服务以应用新配置..."
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user restart nerdctl
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl restart containerd
|
||||
|
||||
# 提示用户重新登录以应用对组的更改
|
||||
echo "完成。请重新登录会话以应用对 containerd 组的更改,使 $CURRENT_USER 可以使用 /run/containerd/containerd.sock。"
|
||||
|
||||
# 输出完成信息
|
||||
echo "nerdctl 配置文件已生成: $CONFIG_FILE"
|
||||
echo "相关服务已重启,详细配置选项请参考官方文档:https://github.com/containerd/nerdctl/blob/main/docs/config.md"
|
||||
Reference in New Issue
Block a user