背景
Docker ComposeまでインストールされたCentOS 7環境を構築したい。簡単に。
方法
Vagrantfileを作成しvagrant upで一撃で起動。
Vagrantfile作成
任意のディレクトリで以下を実行。
$ vagrant init
Vagrantfile編集
先ほど作成したvagrantfileに設定を記述していく。
Vagrant.configure("2") do |config| ~~~ 設定はここに書く ~~~ end
OSを設定
今回はCentOS7。
config.vm.box = "centos/7"
boxとは 仮想マシンを起動する際に必要になるOSのテンプレートみたいなもの
EC2でいうところのAMIみたいな?
このVagrant Cloudなるサイトからとってこれるっぽい。
Vagrant box centos/7 - Vagrant Cloud
Docker & Docker Composeのインストール
config.vm.provision "shell", inline: <<-SHELL sudo yum remove docker docker-common docker-selinux docker-engine 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 sudo yum makecache fast sudo yum install -y docker-ce sudo systemctl start docker curl -L https://github.com/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > docker-compose sudo mv docker-compose /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose SHELL
起動
Vagrantfileが配置してあるディレクトリでvagrant up
しvmを起動。
SSH接続し確認
Tera TermでSSH接続する場合は
ターミナルででユーザ名やポート、認証キーの場所を確認して接続。
C:\vm\centos7>vagrant ssh-config Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile C:/vm/centos7/.vagrant/machines/default/virtualbox/private_key IdentitiesOnly yes LogLevel FATAL
Docker Composeがインストールされているか確認。
[vagrant@localhost ~]$ docker-compose --version docker-compose version 1.12.0, build b31ff33
これでvagrant upコマンド一つで
Docker ComposeがインストールされたCentOS 7環境が構築できるようになりました。
総括
今回作成したVagrantfileはこちらに配置。
本当は今回やりたかったが
次はCloudMapperを上記コマンド一つで実行できるようなdocker-compose.ymlを書きたい。