在kvm主机上运行一个alpine,单独运行docker

一台all in one 主机,宿主机运行的 archlinux+ kvm qemu,部分硬件直通。 只占用2G左右硬盘。其他分区均为ext4 格式 宿主机也可以直接docker,但是感觉不是很方便,所以单独做一个vm 之用来运行docker

获取安装影像

选这个虚拟机版本 就好了

1
2
cd /mnt/hdd/iso/linux/
wget https://dl-cdn.alpinelinux.org/alpine/v3.16/releases/x86_64/alpine-virt-3.16.3-x86_64.iso

创建虚拟机主机

1
2
3
mkdir -p /mnt/ssd/alpinx-kvm/
cd /mnt/ssd/alpinx-kvm/
qemu-img create -f qcow2  alpine-sys.qcow2 50G

启动参数

nano startalpine.sh

内容

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
MY_OPTIONS="+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check"
ALLOCATED_RAM="1G" # MiB
CPU_SOCKETS="1"
CPU_CORES="6"
CPU_THREADS="12"

args=(
  -name "macos"
  -enable-kvm -m "$ALLOCATED_RAM" -cpu host,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,"$MY_OPTIONS"
  -machine q35
  -usb -device usb-kbd -device usb-tablet # 鼠标穿透 mac 和win linux 都适用 键盘鼠标正常
  -smp "$CPU_THREADS",cores="$CPU_CORES",sockets="$CPU_SOCKETS"
  -smbios type=2
  -device ich9-intel-hda -device hda-duplex
  -device ich9-ahci,id=sata
  #qemu-img create -f qcow2  alpine-sys.qcow2 50G
  -cdrom /mnt/hdd/iso/linux/alpine-virt-3.16.3-x86_64.iso
  -drive index=0,media=disk,format=qcow2,if=virtio,file=/mnt/ssd/alpinx-kvm/alpine-sys.qcow2
  -netdev user,id=net0,smb=/mnt,hostfwd=tcp::8006-:3306,hostfwd=tcp::8222-:22
  -device virtio-net-pci,addr=0x10,netdev=net0,id=net0,mac=52:54:00:c9:18:27
  -monitor stdio
  -vga virtio
  -display none
  -vnc 0.0.0.0:8 -k en-us
)
qemu-system-x86_64 "${args[@]}"

安装

setup-alpine 用安装助手安装 30秒就可以装完了

安装docker

ssh用上面的端口8222登录到alpine

1
2
apk add  nano
nano /etc/apk/repositories

把 community 的那行注释去掉

1
2
3
apk add docker
rc-update add docker boot
service docker start

安装fish 和 neofetch

1
apk add fish neofetch

完毕 关机备份

alpine 默认是用 poweroff 关机的,但是。。我习惯性 还是用 shutdown

1
2
3
mkdir -p /mnt/hdd/kvm-bak/alpine-docker
cp alpine-sys.qcow2  /mnt/hdd/kvm-bak/alpine-docker/
cp start_nogpu.sh /mnt/hdd/kvm-bak/alpine-docker/

docker 几个常用镜像

v2ray aliyunpanwebdav nginx mysql

查看单独的文章 https://dev.leiyanhui.com/alpine/docker-s/

最后的 启动脚本

脚本备份: github传送门

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计