容器的实用技巧(二)

2023-01-26 19:34:05 16点赞 41收藏 2评论

上一篇文章介绍了Truenas scale容器的实用技巧,扩展社区 Apps。今天讲讲如何在Truenas的容器环境下使用docker。Truenas 提供的容器环境是K3s,这个技术已经广泛应用,但是主要是云端的优化,为了安全和管理,一般都是把需要的服务端口暴漏,然后通过容器自带的代理转发。虽然也有hostnetwork,但是不好用。另外原生容器的自定义也比较复杂,我们家庭或者个人使用的时候,有些apps是会需要hostnetwork,否则没办法正常工作,用简单的 docker的时候也可以很方便自定义。

登录管理面板

找到Apps 项目

AppsApps

点击启动docker镜像

在右上角处 容器的实用技巧(二)

launch dockerlaunch docker

镜像相关设置

这个实例是一个假设需要hostnetwork的docker设置,如果仅仅需要需要暴漏服务就常规设置,仅仅需要端口转发就可以了。

第一步:设置容器姓名

我这里以nginx作为例子

nginxnginx

第二步:设定镜像来源版本

  1. 第一个镜像来源:由于truenas都是用的docker官方镜像,所以这里一般输入名字就行了。个人镜像一般就是 someone/imgs 这样写的,具体可以在docker官方仓库查到。

  2. 第二个是镜像的版本,一般tag就是用来指定镜像版本的。我们这里默认最新,可以根据需要指定办法。比如 1.2 , 1.6 ......

  3. 第三条是建议选择如果本地有镜像就不在远程抓取;

镜像来源-版本镜像来源-版本

第三步:容器cmd 和变量

这里我们跳过,一般不需要更改。

容器的实用技巧(二)

第四步:容器环境参数设定

这里我们也跳过, 如果有需要你可以根据跑的程序更改。

容器的实用技巧(二)

第五步:容器网络相关设定

  1. 网卡接口

    网卡接口: 根据你的设备选择,我选了其中一张卡;

    ipam 设定:选择dhcp 动态或者静态ip,我这里设定的静态方便管理。

  2. dns设定 忽略容器dns

  3. dnsdns

  4. 静态路由

ipip

设定好这些就行了,下面的设定目前不需要改动。

第六步:端口转发

这里我们用的hostnetwork的模式,这个设置一般就不需要改动,这个pod相当于跑在一个虚拟机上。直接跳过。

第七步:存储设定

这部分是容器存储持久化的相关设定,把需要持久化的数据制定相关路径挂载就行了。

mountmount

我这里的实例是一个路径的简单挂载,当然也可以挂载卷设备。

第八步:建议打开这两个 tty 和 stdin

默认直接下一步也没毛病,需要的话随时回来改一下就行了,我一般选择打开字符和标准输出。

容器的实用技巧(二)

第九步:新容器的建立方式

杀死原来容器再建立,或者替换,根据需求选。

第十步:gpu设置 这个默认没啥可选的

第十一步:资源限制 根据需求搞一下

第十二步:门户设定 这个对于我们来说默认即可

最后一步:确认保存

等待拉取镜像,启动容器

dockerdocker

红框里面的就是我跑的docker镜像

容器的实用技巧(二)

可以看到这个nginx 容器已经在运行了!

PS:

文件挂载注意事项: 如果是卷设备没有权限问题,如果是path需要相关目录有权限,根据官方文档,要设定为 apps 有相关权限。

网络相关设定: 注意网络接口的设定

创建 macvtap 接口,注意设置为 bridge 模式(默认为 vepa 模式),vepa 模式下创建在同一宿主机之上的多个虚机之间网络不通(除非外部交换机支持 hairpin 功能)

所以这个docker镜像选的网口不要和nas管理口是一个,有的朋友可能只有一个网口的时候就不能用这种方法了,只能采取容器内部网络和你的lan在一个子网的办法,这样的优点就是你不需要折腾这么多了,至于安全问题家用问题不大。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
2评论

  • 精彩
  • 最新
  • 大神,求稳拉取docker镜像失败的话如何解决呢

    校验提示文案

    提交
    代理吧,或者啥镜像加速

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
41
扫一下,分享更方便,购买更轻松