Tagged

container

A collection of 3 posts

systemd-nspawn

Container 無法從 dnsmasq 取得指定 IP

在 container 的 /etc/hostname 中指定名稱, 用 systemd-nspawn --network-macvlan=enp6s0 my-container1 啟動, 並在 dnsmasq 中增加一行設定, 讓 dnsmasq 以 hostname 分配固定 IP address dhcp-host=my-machine,192.168.0.123,infinite 後來, container 名稱從 my-container1 換成了 my-container2, 但 hostname 沒變 (還是 my-machine), 從此就再也取不到 192.168.0.123 這個 address, 相當不解. 查了查 dnsmasq

networking

systemd-nspawn, macvlan

Linux 的 macvlan 提供了直觀的使用方式及接近實體網路的速度, 配合 systemd-nspawn 產生 container 非常方便. 但, 使用 macvlan 的 container 及 host 沒法直接互通, 有時比較不方便. 查了下, 網上的解決方案都是在 host 側加上 macvlan, 這樣 host 及 container 中的 guest 就能看見對方. 如果是用 systemd-networkd 管理網路的情況下, 可照以下步驟完達成. 首先, 加張虛擬網卡 # /etc/systemd/network/macvlan.netdev [NetDev] Name=macvlan0 Kind=macvlan 接著, 去掉實體網卡 (假設名稱為 enp6s0)

machinectl

systemd-nspawn + debian 8.0, machinectl

systemd-nspawn 是 systemd 自帶的 container 機制, 可想成是另一個相對安全方便些的 chroot. 首先準備一個 root file system, 配合使用 systemd 的 distro 最好, 例如 debian 8.0, 產生 root file system 的指令如下 $ sudo debootstrap jessie my_debian http://ftp.jp.debian.org/debian 上面的指令會在目前目錄下建立一個 my_debian 目錄, 在裡面產生一個基於 debian 8.0 (jessie) 的最小 root file system,