를 사용하여 Alpine Linux 설치.png)
Docker를 사용하기 위해 FreeBSD에서 bhyve (vm-bhyve)를 사용하여 Alpine Linux 설치
docker를 사용하려면 Mac을 사용하고 있으므로 Docker for Mac을 사용하면 좋지만,
데스크탑 환경에는 가능한 한 불필요한 것을 설치하고 싶지 않기 때문에 서버상에서 하기로 합니다
그러나 사내 서버는 FreeBSD 만 설치된 세계이므로 (허구입니다)
bhyve (vm-bhyve)를 사용하여 경량 Alpine Linux를 설치하고 거기에서 docker를 실행하기로 결정합니다.
FreeBSD 버전은 12.1
vm-bhyve 설치
데스크탑 환경에는 가능한 한 불필요한 것을 설치하고 싶지 않기 때문에 서버상에서 하기로 합니다
그러나 사내 서버는 FreeBSD 만 설치된 세계이므로 (허구입니다)
bhyve (vm-bhyve)를 사용하여 경량 Alpine Linux를 설치하고 거기에서 docker를 실행하기로 결정합니다.
FreeBSD 버전은 12.1
vm-bhyve 설치
# pkg install -y vm-bhyve grub2-bhyve
vm-bhyve에서 사용할 bridge 만들기
이번에는 bridge를 수동으로 만들겠습니다.
# sysrc cloned_interfaces="bridge0" ifconfig_bridge0="up addm em0"
# kldload if_bridge.ko
# ifconfig bridge0 create up
# ifconfig bridge0 addm em0
vm-bhyve 초기 설정
# sysrc vm_enable="YES" kld_list="vmm" vm_dir="/var/vm"
# kldload vmm
# mkdir /var/vm
# vm init
# vm switch create -t manual -b bridge0 public
# cp /usr/local/share/examples/vm-bhyve/* /var/vm/.templates/
vm init에서/var/vm 이하에 다양한 파일이 생성됩니다.
/var/vm/.config/system.conf는 다음과 같습니다.
/var/vm/.config/system.confswitch_list="public"
bridge_public="bridge0"
type_public="manual"
Alpine Linux 설치
https://alpinelinux.org/downloads/에서 Virtual x86_64 ISO 사용
ISO 다운로드 및 등록
# fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/releases/x86_64/alpine-virt-3.10.3-x86_64.iso
# vm iso alpine-virt-3.10.3-x86_64.iso
# vm iso
DATASTORE FILENAME
default alpine-virt-3.10.3-x86_64.iso
템플릿 alpine, 디스크 15G로 작성, 메모리 1G, 가상 CPU1, vm명은 alpinevm로 작성
# vm create -t alpine -s 15G -m 1G -c 1 alpinevm
설정을 편집하려면 vm configure 명령을 사용하여 수행합니다.
# vm configure alpinevm
아래 URL에 따르면 Alpine의 virtual을 사용하는 경우
htps : // 기주 b. 코 m / 츄 r ぇ rs / vm bbhy ゔ ぇ / ぃ き / 쏘 r d gu st 에 m ぇ s
vmlinuz-vanilla와 initramfs-vanilla, vmlinuz-virt 및 initramfs-virt
변경할 필요가 있으므로 변경하고 utctime="yes"도 추가합니다.
설정 파일은 이번 경우라면/var/vm/alpinevm/alpinevm.conf에 저장됩니다
loader="grub"
+utctime="yes"
cpu="1"
memory="1G"
network0_type="virtio-net"
network0_switch="public"
disk0_type="virtio-blk"
disk0_name="disk0.img"
-grub_install0="linux /boot/vmlinuz-vanilla initrd=/boot/initramfs-vanilla alpine_dev=cdrom:iso9660 modules=loop,squashfs,sd-mod,usb-storage,sr-mod"
-grub_install1="initrd /boot/initramfs-vanilla"
-grub_run0="linux /boot/vmlinuz-vanilla root=/dev/vda3 modules=ext4"
-grub_run1="initrd /boot/initramfs-vanilla"
+grub_install0="linux /boot/vmlinuz-virt initrd=/boot/initramfs-virt alpine_dev=cdrom:iso9660 modules=loop,squashfs,sd-mod,usb-storage,sr-mod"
+grub_install1="initrd /boot/initramfs-virt"
+grub_run0="linux /boot/vmlinuz-virt root=/dev/vda3 modules=ext4"
+grub_run1="initrd /boot/initramfs-virt"
uuid="自動で生成されているのでそのままで"
설치 시작
# vm install alpinevm alpine-virt-3.10.3-x86_64.iso
# vm console alpinevm
기동이 끝나면 아래와 같은 화면이 되므로 root로 로그인해(패스워드는 듣지 않습니다)
setup-alpine 명령을 실행하여 설치합니다.
Welcome to Alpine Linux 3.10
Kernel 4.19.80-0-virt on an x86_64 (/dev/ttyS0)
localhost login:
여기까지 오면 아무것도없이 설치할 수 있었으므로 docker를 사용하기 시작할 것 같습니다.
# pkg install -y vm-bhyve grub2-bhyve
이번에는 bridge를 수동으로 만들겠습니다.
# sysrc cloned_interfaces="bridge0" ifconfig_bridge0="up addm em0"
# kldload if_bridge.ko
# ifconfig bridge0 create up
# ifconfig bridge0 addm em0
vm-bhyve 초기 설정
# sysrc vm_enable="YES" kld_list="vmm" vm_dir="/var/vm"
# kldload vmm
# mkdir /var/vm
# vm init
# vm switch create -t manual -b bridge0 public
# cp /usr/local/share/examples/vm-bhyve/* /var/vm/.templates/
vm init에서/var/vm 이하에 다양한 파일이 생성됩니다.
/var/vm/.config/system.conf는 다음과 같습니다.
/var/vm/.config/system.confswitch_list="public"
bridge_public="bridge0"
type_public="manual"
Alpine Linux 설치
https://alpinelinux.org/downloads/에서 Virtual x86_64 ISO 사용
ISO 다운로드 및 등록
# fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/releases/x86_64/alpine-virt-3.10.3-x86_64.iso
# vm iso alpine-virt-3.10.3-x86_64.iso
# vm iso
DATASTORE FILENAME
default alpine-virt-3.10.3-x86_64.iso
템플릿 alpine, 디스크 15G로 작성, 메모리 1G, 가상 CPU1, vm명은 alpinevm로 작성
# vm create -t alpine -s 15G -m 1G -c 1 alpinevm
설정을 편집하려면 vm configure 명령을 사용하여 수행합니다.
# vm configure alpinevm
아래 URL에 따르면 Alpine의 virtual을 사용하는 경우
htps : // 기주 b. 코 m / 츄 r ぇ rs / vm bbhy ゔ ぇ / ぃ き / 쏘 r d gu st 에 m ぇ s
vmlinuz-vanilla와 initramfs-vanilla, vmlinuz-virt 및 initramfs-virt
변경할 필요가 있으므로 변경하고 utctime="yes"도 추가합니다.
설정 파일은 이번 경우라면/var/vm/alpinevm/alpinevm.conf에 저장됩니다
loader="grub"
+utctime="yes"
cpu="1"
memory="1G"
network0_type="virtio-net"
network0_switch="public"
disk0_type="virtio-blk"
disk0_name="disk0.img"
-grub_install0="linux /boot/vmlinuz-vanilla initrd=/boot/initramfs-vanilla alpine_dev=cdrom:iso9660 modules=loop,squashfs,sd-mod,usb-storage,sr-mod"
-grub_install1="initrd /boot/initramfs-vanilla"
-grub_run0="linux /boot/vmlinuz-vanilla root=/dev/vda3 modules=ext4"
-grub_run1="initrd /boot/initramfs-vanilla"
+grub_install0="linux /boot/vmlinuz-virt initrd=/boot/initramfs-virt alpine_dev=cdrom:iso9660 modules=loop,squashfs,sd-mod,usb-storage,sr-mod"
+grub_install1="initrd /boot/initramfs-virt"
+grub_run0="linux /boot/vmlinuz-virt root=/dev/vda3 modules=ext4"
+grub_run1="initrd /boot/initramfs-virt"
uuid="自動で生成されているのでそのままで"
설치 시작
# vm install alpinevm alpine-virt-3.10.3-x86_64.iso
# vm console alpinevm
기동이 끝나면 아래와 같은 화면이 되므로 root로 로그인해(패스워드는 듣지 않습니다)
setup-alpine 명령을 실행하여 설치합니다.
Welcome to Alpine Linux 3.10
Kernel 4.19.80-0-virt on an x86_64 (/dev/ttyS0)
localhost login:
여기까지 오면 아무것도없이 설치할 수 있었으므로 docker를 사용하기 시작할 것 같습니다.
# sysrc vm_enable="YES" kld_list="vmm" vm_dir="/var/vm"
# kldload vmm
# mkdir /var/vm
# vm init
# vm switch create -t manual -b bridge0 public
# cp /usr/local/share/examples/vm-bhyve/* /var/vm/.templates/
switch_list="public"
bridge_public="bridge0"
type_public="manual"
https://alpinelinux.org/downloads/에서 Virtual x86_64 ISO 사용
ISO 다운로드 및 등록
# fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/releases/x86_64/alpine-virt-3.10.3-x86_64.iso
# vm iso alpine-virt-3.10.3-x86_64.iso
# vm iso
DATASTORE FILENAME
default alpine-virt-3.10.3-x86_64.iso
템플릿 alpine, 디스크 15G로 작성, 메모리 1G, 가상 CPU1, vm명은 alpinevm로 작성
# vm create -t alpine -s 15G -m 1G -c 1 alpinevm
설정을 편집하려면 vm configure 명령을 사용하여 수행합니다.
# vm configure alpinevm
아래 URL에 따르면 Alpine의 virtual을 사용하는 경우
htps : // 기주 b. 코 m / 츄 r ぇ rs / vm bbhy ゔ ぇ / ぃ き / 쏘 r d gu st 에 m ぇ s
vmlinuz-vanilla와 initramfs-vanilla, vmlinuz-virt 및 initramfs-virt
변경할 필요가 있으므로 변경하고 utctime="yes"도 추가합니다.
설정 파일은 이번 경우라면/var/vm/alpinevm/alpinevm.conf에 저장됩니다
loader="grub"
+utctime="yes"
cpu="1"
memory="1G"
network0_type="virtio-net"
network0_switch="public"
disk0_type="virtio-blk"
disk0_name="disk0.img"
-grub_install0="linux /boot/vmlinuz-vanilla initrd=/boot/initramfs-vanilla alpine_dev=cdrom:iso9660 modules=loop,squashfs,sd-mod,usb-storage,sr-mod"
-grub_install1="initrd /boot/initramfs-vanilla"
-grub_run0="linux /boot/vmlinuz-vanilla root=/dev/vda3 modules=ext4"
-grub_run1="initrd /boot/initramfs-vanilla"
+grub_install0="linux /boot/vmlinuz-virt initrd=/boot/initramfs-virt alpine_dev=cdrom:iso9660 modules=loop,squashfs,sd-mod,usb-storage,sr-mod"
+grub_install1="initrd /boot/initramfs-virt"
+grub_run0="linux /boot/vmlinuz-virt root=/dev/vda3 modules=ext4"
+grub_run1="initrd /boot/initramfs-virt"
uuid="自動で生成されているのでそのままで"
설치 시작
# vm install alpinevm alpine-virt-3.10.3-x86_64.iso
# vm console alpinevm
기동이 끝나면 아래와 같은 화면이 되므로 root로 로그인해(패스워드는 듣지 않습니다)
setup-alpine 명령을 실행하여 설치합니다.
Welcome to Alpine Linux 3.10
Kernel 4.19.80-0-virt on an x86_64 (/dev/ttyS0)
localhost login:
여기까지 오면 아무것도없이 설치할 수 있었으므로 docker를 사용하기 시작할 것 같습니다.