User-Profile-Image
hankin
  • 5
  • 关于
  • 分类
    • 路由器
    • 电脑相关
    • 游戏相关
    • 未分类
    • 服务器相关
    • 数据库
  • 页面
    • 关于
  • 友链
    • 华夏网盟
Help?

Please contact us on our email for need any support

Support
  • 关于
    首页   ›   服务器相关   ›   正文
服务器相关

docker构建SB镜像

2025-08-15 16:00:07
11  0 0

拉取alpine3.22镜像,进入容器终端,或使用虚拟机安装alpine3.22。

1. 前置操作

#更换国内镜像源
sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
#安装ssh服务端
apk add --no-cache openssh-server
#切换到ssh目录
cd /etc/ssh
#编辑设置允许root登录
vi sshd_config
找到 PermitRootLogin 取消注释,改为 PermitRootLogin yes,保存
#生成密钥
ssh-keygen -A
#启动ssh
/usr/sbin/sshd

完成后就可以使用root登录到ssh了。

如果你使用的是容器终端,则无须安装ssh,更换国内源即可。

2. 安装环境依赖。

apk add go cmake make
go env -w GOPROXY=https://goproxy.cn,direct

3. 下载源码,编译。

git clone sb源码。

cd到源码目录,直接执行make即可收获二进制文件。

如果使用的是容器,请先下载源码到宿主机,然后在宿主机终端使用 docker cp 源码路径 容器名称:容器路径,将源码拷贝到容器后再执行make

过程中出现请根据错误提示排查。

提取出编译好的二进制文件。

4. 制作dockerfile文件。(这一步开始可以使用任意linux系统,只需安装好docker即可。)

FROM alpine:3.22
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositoriesRUN mkdir /root/singbox
COPY alpine-sing-box /root/singbox/
WORKDIR /root/singbox
RUN chmod +x /root/singbox/alpine-sing-box
EXPOSE 10984/tcp 10984/udp
EXPOSE 10985/tcp 10985/udp
EXPOSE 9099/tcp
ENTRYPOINT ["/root/singbox/alpine-sing-box", "run", "-c", "/root/singbox/config/config.json"]

可以直接使用我这个dockerfile。

将编译出来的sb二进制文件与dockerfile文件放在同一目录。

5. 构建docker镜像。

进入终端,执行:docker build . -t 镜像名:tag。

如:docker build . -t sb:1.0

过程中报错请自行检查,使用上方提供的dockerfile按步骤来不会报错。

6. docker镜像打标上传到仓库。

  • docker login #登录自己的docker账户,输入用户名与密码,提示successful即可。
  • docker images #查看刚刚构建的镜像TAG ID,复制。
  • docker tag TAGID 用户名/仓库名:tag #这一步需要先到docker上自己的仓库里创建一个新仓库,tag可以根据自己喜欢设置。执行完后会出新一个新的镜像。
  • docker push 用户名/仓库名:tag #这一步需要根据上一步创建的填写正确,不清除可以再使用docker images查看。

等待执行完毕镜像就上传到自己的仓库里了。

后续拉取镜像可以使用 docker pull 用户名/仓库名:tag

7. 使用docker-compose.yml运行镜像

任意目录新建 docker-compose.yml 编辑,粘贴如下内容:

services:
    sb:
        container_name: s-b
        image: 用户名/仓库名:tag
        # build: .
        hostname: sb-host
        ports:
          - "10984:10984"
          - "10985:10985"
          - "9099:9099"
        volumes:
          - /etc/sbconfig:/root/singbox/config
        networks:
          - sb
        restart: 'unless-stopped'
networks:
  sb:
    driver: bridge
    name: sb-network

volumes需要注意,/etc/sbconfig改为你sb配置文件所在目录的路径。

修改完毕后保存,执行 docker compose up -d 容器就在后台启动了。

如果你不想用alpine来当镜像而是使用debian或者ubuntu等其他镜像请忽略第一步,然后第四步第一行代码改为对应系统,第二步需要更改命令为对应系统。

评论 (0)

Click here to cancel reply.

欢迎您 游客  

近期文章

  • 用于网速测试的下载测速文件合集
  • docker构建SB镜像
  • pterodactl docker install
  • OpenWRT流量实时监控插件
  • docker部署dify

近期评论

No comments to show.

归档

  • 1 月 2026
  • 8 月 2025
  • 5 月 2025
  • 4 月 2025
  • 3 月 2025
  • 2 月 2025
  • 12 月 2024
  • 4 月 2024
  • 10 月 2023
  • 8 月 2023
  • 4 月 2023
  • 3 月 2023
  • 2 月 2023
  • 10 月 2021
  • 5 月 2021
  • 3 月 2021
  • 2 月 2021

分类

  • 数据库
  • 服务器相关
  • 未分类
  • 游戏相关
  • 电脑相关
  • 路由器
Copyright © 2026
smarty_hankin 主题. Designed by hankin
主页
页面
  • 关于
博主
hkthomas 管理员
136 文章 0 评论 18293 浏览
测试
测试