我准备打造Mac家庭服务器 博客就当我的记事本了 我的思维方式都是比较贴近新手小白 能快速上手和直接解决问题 希望可以帮助到你

OrbStack的目录是通过nfs挂载到Mac用户目录下的 不主动设置映射的本地目录 他会放到/Users/用户/OrbStack/docker/volumes里
期间我遇到过重启容器后配置就丢掉的情况 具体啥原因我也不知道 这就让我觉得地基不稳
所以我就想能不能集中管理配置文件?跟我的Nas里的一样 有一个专门的Docker目录来存放容器配置
因为Docker目录单独配置保存好了 容器随便丢 我再次拉取把本地目录装载上去 数据立马恢复了(独立数据库的那类项目除外哈)
事实是可行的 还非常简单 因为我害怕存放在nfs里的目录不会被时间机器备份上
而且我已经遇到了 莫名其妙的保存了配置 重启后丢数据的情况 所以对待这个问题 我有比较严格的要求
orbstack不能可视化的修改容器配置 我又很排斥用docker面板之类的工具 所以才有了一次性写好创建命令 用命令修改

快速创建命令

docker run -d --name ddns-go --restart=always --net=host -v /Users/lian/Docker/ddns-go:/root jeessy/ddns-go

ddnsgo的默认端口9876 已经非常好记哈 所以就不要装非主流了 怎么简单怎么来 之后的容器为我会添加端口映射 因为不好记。。。

我主要改动就是把本地映射的目录 改到了用户目录下的Docker文件夹里 以上命令里的lian 改为你自己的mac用户 然后在你的用户里创建一个Docker文件夹就好了 这样ddnsgo的配置就会可视化的存放在你的目录里 且测试保存之后重启都不会丢数据 同时时光机器也是会帮你备份这个docker目录的哟 可以说是万无一失 以下是命令介绍 简单了解一下就好 新手直接拿命令上手就好 后续我会发布分享更多必备容器部署在macos里 主要还是帮助小白用户 大神请独自美丽 别来沾边

配置经验

我看了下ddnsgo通过mac创建的 能获取到v4的网卡 但是ip肯定都不是正确的公网ip哈 所以v4的IP获取方式肯定是要选择接口获取
而我路由器自带ddnsgo 能获取到网卡的 我才选择的网卡获取 不过我觉得接口获取跟网卡获取都差不多 一样稳 经验所得
至于V6 此环境下也是无法获取ipv6网卡(我用的wifi) 推荐也是接口获取 因为你没得选
所以记住了哈 两个都选接口获取

介绍命令

这段命令用于通过 Docker 创建并运行一个名为 ddns-go 的容器,并为其设置特定的运行环境和配置。以下是各个参数的详细解析:

命令分解与功能

1. docker run

  • 启动一个新的 Docker 容器。

2. -d

  • 后台运行模式(detached mode):容器会在后台运行,控制台不会一直显示容器的输出日志。

3. --name ddns-go

  • 指定容器名称:将容器命名为 ddns-go,方便管理和识别。

    • 例如,后续可以通过 docker stop ddns-godocker logs ddns-go 来控制或查看容器。

4. --restart=always

  • 重启策略:确保容器在以下情况下自动重启:

    • 容器意外停止。
    • Docker 服务或主机重启。
  • 这是一个常用策略,特别适合关键服务的部署。

5. --net=host

  • 使用主机网络模式

    • 容器将直接使用主机的网络栈。
    • 在这种模式下,容器中的服务会直接监听主机网络的端口,而无需单独映射。
    • 优势:高性能,简化端口映射。
    • 注意:使用 --net=host 时,可能带来安全隐患(容器与主机网络无隔离)。

6. -v /Users/lian/Docker/ddns-go:/root

  • 挂载本地目录到容器内

    • 将本地主机路径 /Users/lian/Docker/ddns-go 挂载到容器内的 /root 目录。
    • 容器内对 /root 的所有读写操作都会同步到本地的 /Users/lian/Docker/ddns-go
    • 用途:

      • 容器与主机共享文件,如配置文件、日志等。
      • 数据持久化,防止容器删除后丢失重要数据。

7. jeessy/ddns-go

  • 指定使用的镜像

    • 从 Docker Hub 下载并运行 jeessy/ddns-go 镜像。
    • 如果镜像本地不存在,Docker 会自动从远程仓库拉取。
最后修改:2024 年 12 月 01 日
如果觉得我的文章对你有用,请随意赞赏