群晖系统里面的docker套件非常好用,但是群晖默认情况下,没有桥接到局域网的网络配置,因此要想建立的docker拥有独立的局域网ip,而不是通过端口转发,或者占用nas的端口的方式,就需要对网络进行一定的配置。
本篇就记录了从新建docker网络配置到最后建立独立局域网ip的docker版centos系统的过程。

一、创建桥接网卡

1、启用open switch

控制面板-网络-网络界面-管理-open switch设置,勾选启用,确定。
(如果安装了VMM套件,此功能默认开启)

0.1.png

0.2.png

2、Docker创建桥接网卡

这一步不可少,群晖Docker默认是没有桥接网卡的,需要手动创建。
首先控制面板-终端机和SNMP,启用SSH功能。
通过ssh软件连入群晖后台
sudo -i
回车输入密码
输入命令
ip addr
返回的值中,找到对应你的群晖IP地址那条,上面就是物理网卡名称,网卡名称是ovs_eth0

0.4.png

输入命令创建桥接网卡
0.5.png

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网卡
0.3.png

二、创建centos7系统

1、下载镜像

在注册表中下载centos的镜像,我选择了centos7.6版本。
或者使用命令获取:docker pull centos
在ssh下,输入docker images查看镜像列表。
1.png

2、启动镜像

通过镜像启动docker实例,并在启动实例的过程中,配置好相关参数。
2.png

命令如下:
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服务

3.png

进入容器
docker exec -it centos7 /bin/bash
4.png

----------------------一下都是在容器内部操作--------------------------

安装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

如果觉得我的文章对你有用,请随意赞赏