Skip to content

Instantly share code, notes, and snippets.

@mykysyk
Last active January 12, 2022 05:30
Show Gist options
  • Save mykysyk/f1411b96b78ae4d79fdd58992004ba0a to your computer and use it in GitHub Desktop.
Save mykysyk/f1411b96b78ae4d79fdd58992004ba0a to your computer and use it in GitHub Desktop.
[systemd-nspawn] CentOS7 コンテナ作成 (Debian 11)
# systemd-containerパケージをインストール
apt install systemd-container
# パッケージマネージャーのインストール
apt install dnf debootstrap
# Base repo 作成
cat<<"EOF">/etc/yum.repos.d/CentOS7-Base.repo
[base]
name=CentOS-7 - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
enabled=0
gpgcheck=0
EOF
# コンテナ名
CONTAINER_NAME=centos7
# CentOS7 インストール
dnf --releasever=7 \
--installroot=/var/lib/machines/${CONTAINER_NAME} \
--disablerepo='*' \
--enablerepo=base \
install systemd passwd yum sudo vi
# コンテナのreleaseverを7にしておく(おまじない)
echo 7 > /var/lib/machines/${CONTAINER_NAME}/etc/yum/vars/releasever
# nspawnディレクトr作成
mkdir -p /etc/systemd/nspawn/
# ネットワークをプライベートからホストネットワークに変更
cat<<EOF>/etc/systemd/nspawn/${CONTAINER_NAME}.nspawn
[Network]
VirtualEthernet=no
EOF
# コンテナを起動
systemd-nspawn -D /var/lib/machines/${CONTAINER_NAME}
# ユーザ作成
useradd -m your-name -s /bin/bash
# パスワード設定
passwd your-name
# sudo権限付与
gpasswd -a your-name wheel
# コンテナから一旦ぬける
exit
# コンテナをブート
systemd-nspawn -bD /var/lib/machines/${CONTAINER_NAME}/
# locale を UTF-8 にする
sudo localectl set-locale LANG=ja_JP.UTF8
# 外部と接続できるか確認
sudo yum update
# 「Ctrl+]」 x 3 で終了
# コンテナ起動
machinectl start ${CONTAINER_NAME}
# コンテナの起動状態確認
machinectl status ${CONTAINER_NAME}
# コンテナへログイン
machinectl login ${CONTAINER_NAME}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment