前言
我近日将家中服务器系统从pve更换为unRaid,由于unRaid不支持lxc虚拟机 所以便将所有服务迁移到了docker容器。由于我希望每个服务都能有它自己的域名用于访问 便使用了 Nginx proxy manager进行统一代理的同时配置https证书。
何来限制
因为unRaid系统的完善 在创建容器时 将网络类型选择为
使用pipework配置独立的ip地址
由于unRaid系统安装于u盘 每次启动会先从u盘载入数据 所以这使得在系统中做出的修改在重启后会还原,于是我将pipework存放于u盘目录 每次启动时通过
#!/bin/bash # Start the Management Utility /usr/local/sbin/emhttp & modprobe i915 # pipework cp /boot/pipework /usr/local/bin/ ##将pipework从u盘拷贝至运行目录 chmod +x /usr/local/bin/pipework ##赋予pipework可执行权限 sleep 30s ##等待30s 以便容器启动 /usr/local/bin/pipework br0 Nginx-Proxy-Manager-Official 10.0.0.3/[email protected] ##为名为Nginx-Proxy-Manager-Official的容器桥接至br0 配置静态ip地址10.0.0.3
由于使用pipework添加ip地址不是docker官方给出的方案 所以在被添加的容器重启后ip地址会失效 需要重新再执行指令添加 因此我在
#!/bin/bash # Start the Management Utility /usr/local/sbin/emhttp & modprobe i915 # pipework sleep 30s /boot/pipework br0 Nginx-Proxy-Manager-Official 10.0.0.3/[email protected]
如果使用的不是unraid系统 debian ubuntu之类的linux系统 将pipework放入
鸣谢
http://www.louisvv.com/archives/695.html
pipework下载 https://github.com/jpetazzo/pipework/archive/master.zip
这句话帮大忙了!!!:由于这是通过docker macvlan获取的ip,macvlan模式下的容器 跟宿主机之间没有 访问权限,对其他同网段的服务器和容器可以联通。