使用 Dockerfile 构建自定义镜像
1.在主机上创建一个目录,例如 my-alpine:
mkdir my-alpine
cd my-alpine
2.创建你的开机脚本文件 rc.start
cat > rc.start << 'EOF'
#!/bin/sh
# 在这里写你的命令
EOF
3.创建 Dockerfile:
FROM alpine:3.16
# 安装必要工具(根据你的脚本需求添加,例如 openvpn)
RUN apk add --no-cache openrc iproute2 # 如不需要可去掉
# 创建 local.d 目录并复制脚本
RUN mkdir -p /etc/local.d
COPY rc.start /etc/local.d/rc.start
RUN chmod +x /etc/local.d/rc.start
# 可选:如果想用完整 OpenRC
# RUN mkdir -p /run/openrc && touch /run/openrc/softlevel && rc-update add local default
# 保持原有权限
CMD ["/bin/sh", "-c", "/etc/local.d/rc.start && /bin/sh"]
4.构建镜像:(最后有个.别漏了)
docker build -t my-alpine-test .
5.可以直接运行容器
docker run -it \
--cap-add=NET_ADMIN \
--cap-add=SYS_ADMIN \
--device=/dev/net/tun \
my-alpine-test