openwrt for aarch64 docker image
100K+
r21.10.01之后的版本,如果想开启 turboacc完整功能的话,需要添加内核模块目录映射, 例如:-v /lib/modules/$(uname -r):/lib/modules/$(uname -r)
运行命令示例:
#!/bin/bash
get_random_mac ()
{
# MAC地址第一段可在 02 06 0A 0E 中任选一个
if [ "$SHELL" == "/bin/bash" ];then
#MACADDR=$(printf "%02X:%02X:%02X:%02X:%02X:%02X\n" $[RANDOM%255] $[RANDOM%255] $[RANDOM%255] $[RANDOM%255] $[RANDOM%255] $[RANDOM%255])
MACADDR=$(printf "06:%02X:%02X:%02X:%02X:%02X\n" $[RANDOM%255] $[RANDOM%255] $[RANDOM%255] $[RANDOM%255] $[RANDOM%255])
else
uuid=$(cat /proc/sys/kernel/random/uuid)
mac1="0E"
#mac1=${uuid:24:2}
mac2=${uuid:26:2}
mac3=${uuid:28:2}
mac4=${uuid:30:2}
mac5=${uuid:32:2}
mac6=${uuid:34:2}
MACADDR=$(echo "$mac1:$mac2:$mac3:$mac4:$mac5:$mac6" | tr '[a-z]' '[A-Z]')
fi
}
IMG_NAME=unifreq/openwrt-aarch64
IMG_TAG=latest
PREV_IMG_TAG=latest
#PREV_IMG_TAG=r21.10.01
MACNET=$(docker network ls | grep macnet | wc -l)
PARENT="eth0"
SUBNET="192.168.3.0/24"
GATEWAY="192.168.3.1"
IP="192.168.3.23"
if [ $MACNET -eq 0 ];then
docker network create -d macvlan -o parent="$PARENT" --subnet "$SUBNET" --gateway "$GATEWAY" macnet
fi
docker stop openwrt-${PREV_IMG_TAG} 2>/dev/null
docker rm openwrt-${PREV_IMG_TAG} 2>/dev/null
get_random_mac
echo $MACADDR
KERNEL_VERSION=$(uname -r)
docker run --name openwrt-$IMG_TAG \
--restart always \
--network macnet \
--mac-address $MACADDR \
--ip $IP \
-d --privileged=true \
--ulimit nofile=16384:65536 \
-v /lib/modules/${KERNEL_VERSION}:/lib/modules/${KERNEL_VERSION} \
$IMG_NAME:$IMG_TAG
# 第一次运行,需要修改ip地址
docker exec openwrt-${IMG_TAG} sed -e "s/192.168.1.1/${IP}/" -i /etc/config/network
#重启容器生效
docker restart openwrt-${IMG_TAG}
Content type
Image
Digest
sha256:c166256b5…
Size
98.3 MB
Last updated
about 4 years ago
docker pull unifreq/openwrt-aarch64