Last updated on 6 months ago
利用ubuntu地linux环境模拟迷你主机运行docker跑openwrt镜像,实现软路由/旁路由功能
ubuntu启动
ubuntu系统创建
经典–>稍后安装操作系统–>linux Ubuntu64位–>自定义硬件
硬件
显示器取消勾选加速3D图形
新CD/DVD(SATA)选择使用ISO 映像文件 Ubuntu 22的镜像
基础配置
try or install
中文简体,安装ubuntu,语言chinese chinese,只勾选最小安装
清楚磁盘,现在安装,继续
点击中国地图任意一个地方,时区是上海即可
创建账密
漫长等待
重启后按回车
简单配置
1 2 3 4 5 6 7 8 9 10
| sudo -i //获得临时root权限 sudo passwd root //设立root用户 su root //切换root用户 sudo apt install net-tools //安装网络工具,可以使用ifconfig sudo apt-get install open-vm-tools //安装vmtools,可以跨虚拟机复制粘贴以及调整屏幕大小(查看-->自动调整大小-->自动适应客户机) reboot //重启,启用vmtools sudo apt install wcstools apt install vim //安装vim
|
软件和更新–>下载自–>其它–>aliyun镜像
docker
各种基础
更新sudo apt-get update
允许apt安装
1 2 3 4 5 6
| sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
|
或者这样也可以apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
添加docker的gpg key
1
| curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
|
验证key指纹
sudo apt-key fingerprint 0EBFCD88
(忽视各种warning)
添加稳定版仓库
1 2 3 4
| sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable"
|
在更新一次
sudo apt-get update
安装ce和容器
sudo apt-get install docker-ce docker-ce-cli containerd.io
验证一下
docker --version
安装docker-compose
apt install docker-compose
验证一下
docker-compose --version
openwrt
uname-a查看自己的版本信息,选择对应的openwrt的镜像安装
github仓库
https://github.com/SuLingGG/OpenWrt-Docker
我的是x86_64,amd,选择安装sulinggg/openwrt:x86_64
docker pull sulinggg/openwrt:armv7
ifconfig
docker0下面的ens33就是网卡名称
1 2 3
| ip link set ens33 promisc on vim /etc/rc.local ip link set ens33 promisc on
|
创建docker虚拟网络
1
| docker network create -d macvlan --subnet=192.168.3.0/24 --gateway=192.168.3.1 -o parent=eth0 macnet
|
运行容器
1
| docker run --restart no -d --name=OpenWRT --network macnet --privileged jyhking/onecloud:1.1 /sbin/init
|
进入容器
1 2
| docker exec -it OpenWRT /bin/sh vim /etc/config/network
|
防止卡死
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| docker stop <> docker system prune --all --volumes --force netsh winsock reset
docker pull xuanaimai/onecloud:21-09-15 docker run -itd --name=open --restart=always --network=macnet --privileged=true xuanaimai/onecloud:21-09-15 /sbin/init docker exec -it open bash //shell clash安装 export url='https://fastly.jsdelivr.net/gh/juewuy/ShellClash@master' && sh -c "$(curl -kfsSl $url/install.sh)" && source /etc/profile &> /dev/null
6053537/portainer:linux-arm
docker save -o xiaoya_alist_latest.tar xiaoyaliu/alist:latest //在C://user下 9999端口
|