![]()
如余得氺
2023-06-20 23:42
文章来源
https://zsxwz.com/2022/03/05/t...e8%a3%85docker/
安装qemu
apt install qemu-utils qemu-common qemu-system-x86_64-headless
下载 Alpine Linux 3.12(virt 优化)ISO镜像文件
mkdir alpine && cd $_
wget http://dl-cdn.alpinelinux.org/...12.3-x86_64.iso
创建磁盘空间
qemu-img create -f qcow2 alpine.img 5G
启动镜像文件
qemu-system-x86_64 -machine q35 -m 1024 -smp cpus=2 -cpu qemu64 \\
-drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \\
-netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 \\
-cdrom alpine-virt-3.12.3-x86_64.iso \\
-nographic alpine.img
使用用户登录 root。
设置网络,一路选默认:
setup-interfaces
ifup eth0
#
设置好之后可以自己ping一下,是否设置正确
让开机时能输出信息
sed -i -E \"s/(local kernel_opts)=.*/\\1=\"console=ttyS0\"/\" /sbin/setup-disk
配置安装文件:
vi answerfile
#输入i,进入编辑,添加以下内容,按esc退出编辑,输入:wq保存退出
KEYMAPOPTS=\"us us\"
HOSTNAMEOPTS=\"-n alpine\"
INTERFACESOPTS=\"auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
hostname alpine
\"
TIMEZONEOPTS=\"-z UTC\"
PROXYOPTS=\"none\"
APKREPOSOPTS=\"http://dl-cdn.alpinelinux.org/alpine/v3.12/main http://dl-cdn.alpinelinux.org/alpine/v3.12/community\"
SSHDOPTS=\"-c openssh\"
NTPOPTS=\"-c busybox\"
DISKOPTS=\"-v -m sys -s 0 /dev/sda\"
安装系统至硬盘,建立 root 帐号的密码:
setup-alpine -f answerfile
安装完之后,关机:poweroff
下一次启动的命令:qemu-system-x86_64 -machine q35 -m 2048 -smp cpus=2 -cpu qemu64 \\
-drive if=pflash,format=raw,read-only=on,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \\
-netdev user,id=n1,hostfwd=tcp::2222-:22,hostfwd=tcp::8081-:80 -device virtio-net,netdev=n1 \\
-nographic alpine.img
#m是分配2GB内存,cpu是2核CPU
#hostfwd则是把外部8081通讯端口转发到虚拟机的80通讯端口。
安装 docker,并设定开机自动启动服务。
apk update && apk add docker
service docker start
rc-update add docker
加果