群晖系统里面的docker套件非常好用,但是群晖默认情况下,没有桥接到局域网的网络配置,因此要想建立的docker拥有独立的局域网ip,而不是通过端口转发,或者占用nas的端口的方式,就需要对网络进行一定的配置。
本篇就记录了从新建docker网络配置到最后建立独立局域网ip的docker版centos系统的过程。
一、创建桥接网卡
1、启用open switch
控制面板-网络-网络界面-管理-open switch设置,勾选启用,确定。
(如果安装了VMM套件,此功能默认开启)
2、Docker创建桥接网卡
这一步不可少,群晖Docker默认是没有桥接网卡的,需要手动创建。
首先控制面板-终端机和SNMP,启用SSH功能。
通过ssh软件连入群晖后台sudo -i
回车输入密码
输入命令ip addr
返回的值中,找到对应你的群晖IP地址那条,上面就是物理网卡名称,网卡名称是ovs_eth0
输入命令创建桥接网卡
docker network create -d macvlan --subnet=192.168.31.0/24 --gateway=192.168.31.1 -o parent=ovs_eth0 bridge-host
命令说明:192.168.31.0为你的内网地址段,192.168.31.1为你的网关地址,ovs_eth0是你的物理网卡名称
创建好之后,docker的网络里会多出一个bridge-host网卡
二、创建centos7系统
1、下载镜像
在注册表中下载centos的镜像,我选择了centos7.6版本。
或者使用命令获取:docker pull centos
在ssh下,输入docker images
查看镜像列表。
2、启动镜像
通过镜像启动docker实例,并在启动实例的过程中,配置好相关参数。
命令如下:docker run --privileged -itd --name centos7 --network bridge-host --ip=192.168.31.111 f1cb7c7d58b7 /usr/sbin/init
----privileged 启动后让docker容器具备超级特权。
-itd 交互式、终端、后台运行
--name 给启动的容器命名,方便后续操作
--network 配置docker使用的网卡
--ip 设置dokcer的ip
f1cb7c7d58b7 就是IMAGE ID
注:--privileged 和/usr/sbin/init是必须的,否则会报错。
Failed to get D-Bus connection: Operation not permitted
3、进入容器并配置ssh服务
进入容器docker exec -it centos7 /bin/bash
----------------------一下都是在容器内部操作--------------------------
安装openssh
yum install -y openssh-server openssh-clients
启动openssh
systemctl start sshd
设置root密码
passwd
。。。。1次密码
。。。。2次确认
退出容器
exit
4、登录测试
在局域网中,使用宿主机通过ssh命令连接,端口号就是ssh的默认端口号22。提示输入密码后,进入dokcer环境内部。ssh 192.168.31.111
参考资料
1.https://www.gitloc.com/archives/82.html
2.https://blog.csdn.net/kouryoushine/article/details/89960052
8 条评论
赞OωO
哇(/ω\)
不错,必须顶一下!
感谢~~~OωO
在家里同步公司群晖文件,为什么有的时候出现十几K的情况,然后我没弄什么过段时间又突然好了!
我还没遇到过这种情况。
不错,不错,支持
你是广告。。。