vagrantfileによる環境構築 | Docker導入まで
Vagrantは環境汚染を気にせず、ああでもない、こうでもないと悩みながら環境構築をコード化できるので、素敵です。また、Vagrantfileで環境構築ができれば、Dockerでもできるだろう...という淡い期待を抱いています。
本日進んだところ
Vagrant.configure("2") do |config| # インストールするOS config.vm.box = "minimal/centos7" # 勝手にアップデートしないための設定 (いらないかも) config.vm.box_check_update = false # 解放するポート (8080は使った記憶があるため、他の適当な番号にしました) config.vm.network "forwarded_port", guest: 80, host: 8085 # VirtualBoxの設定 config.vm.provider :virtualbox do |vb| ## VirtualBoxマネージャー上での名称設定 vb.name = "docker-test" ## USB2.0を無効化 vb.customize ["modifyvm", :id, "--usb", "on"] vb.customize ["modifyvm", :id, "--usbehci", "off"] end # CentOS作成後のshell上での実行コマンド config.vm.provision :shell, inline: <<-SHELL ## 参考URL: https://docs.docker.com/install/linux/docker-ce/centos/ ## yum-utils => yum-config-manager, others => devicemapper sudo yum install -y yum-utils device-mapper-persistent-data lvm2 ## 安定板のレポジトリ追加 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ## yumのパッケージインデックス更新 sudo yum makecache fast ## 最新版のインストール sudo yum install -y docker-ce docker-ce-cli containerd.io ## dockerを起動 sudo systemctl start docker ## dockerを常時起動 sudo systemctl enable docker SHELL end
minimal/CentOS
仮想マシン上にDockerを載せるなら、CoreOSみたいな軽い方が良いと思ったのですが、CoreOSのデフォルトのパスワードが分からないため、minimal版のCentOSにしました。CentOSのrootユーザーのパスワードはvagrantになります。 VirtualBoxでOSを起動する場合は、ネットワーク設定やrootユーザー、一般ユーザの設定も手作業でするため、パスワードとか好きにできるのですが、Vagrantで自動化する場合は自由に選べない?みたい。 minimal版よりも半分近く軽いNetInstall版も試してみたい。パスワード設定ができるなら、CoreOSでやり直すのもありです。