瑞芯微SDK环境+docker环境外部访问

原因:由于docker两个容器,里面开了samba.和ssh以及后续可能会建其它服务 ,因此做端口映射不太好。需要公司电脑能像访问正常服务器一样访问两个docker容器

服务器是CentOS 。里面安装了两个ubuntu20.04.专门跑瑞芯微的SDK .准备一个用于QT5.9.4,一个用于QT5.15.2.以下仅仅是思路。过程未完全记录

1.首先adb pull 一个ubuntu20.04. 镜像。创建一个 容器new 然后 将瑞芯微SDK完全拷贝到容器中

2.将瑞芯微SDK解压。需要按照官方安装环境一样。安装各个报。注意:部分包如果安装不上,也不需要安装。尤其像qt4-dev. 一些图形化的包。

3.编译sdk,未出错后。保存容器为镜像。复制到old.

4.配置网络

linux服务器

sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 172.17.0.0/16 -o docker0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -s 172.17.0.0/16 -d 0.0.0.0/0 -o eno2 -j MASQUERADE

注意:最新版本docker默认安装后,就可以ping通172.17.0.2

电脑

route -p add 172.17.0.0 mask 255.255.0.0 192.168.1.185

[bh@localhost byx]$ ifconfig
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 0.0.0.0
        inet6 fe80::42:92ff:fe04:db69  prefixlen 64  scopeid 0x20<link>
        ether 02:42:92:04:db:69  txqueuelen 0  (Ethernet)
        RX packets 569385  bytes 39478313 (37.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 647458  bytes 1301591928 (1.2 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eno1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:1e:67:ce:f4:d0  txqueuelen 1000  (Ethernet)
        RX packets 5  bytes 300 (300.0 B)
        RX errors 0  dropped 5  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xd1160000-d117ffff  

eno2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.185  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::821e:a580:b66c:e2cc  prefixlen 64  scopeid 0x20<link>
        ether 00:1e:67:ce:f4:d1  txqueuelen 1000  (Ethernet)
        RX packets 113164282  bytes 140574498760 (130.9 GiB)
        RX errors 0  dropped 37  overruns 0  frame 0
        TX packets 70469098  bytes 5707538968 (5.3 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xd1140000-d115ffff  

eno3: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:1e:67:ce:f4:d2  txqueuelen 1000  (Ethernet)
        RX packets 4  bytes 240 (240.0 B)
        RX errors 0  dropped 4  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xd1120000-d113ffff  

eno4: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:1e:67:ce:f4:d3  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xd1100000-d111ffff  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1709  bytes 152070 (148.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1709  bytes 152070 (148.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vethec2a76c: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::38bc:aaff:fe86:49be  prefixlen 64  scopeid 0x20<link>
        ether 3a:bc:aa:86:49:be  txqueuelen 0  (Ethernet)
        RX packets 6  bytes 516 (516.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6  bytes 516 (516.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:eb:58:a2  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[bh@localhost byx]$ sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 172.17.0.0/16 -o docker0 -j MASQUERADE
[bh@localhost byx]$ sudo iptables -t nat -A POSTROUTING -s 172.17.0.0/16 -d 0.0.0.0/0 -o eno2 -j MASQUERADE

SSH服务

测试 ssh 如果出问题按照如下操作。

首先使用root权限进入容器
docker exec -it -u root [容器号] /bin/bash
进入容器之后
apt-get update
apt-get install openssh-server
apt-get install vim
设置密码,输两次
passwd
修改配置文件
vim /etc/ssh/sshd_config
将PermitRootLogin prohibit-password修改为PermitRootLogin yes
SAMBA服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值