Docker を少し動かして覚えてみたい方向けに、
Vagrant コマンド一発で Docker や Docker Compose が動作する環境を立ち上げる Vagrantfile を用意してみました
-
VirtualBox をインストールしていない方
https://www.virtualbox.org/wiki/Downloads
上記URLからダウンロードしてきてインストールしてください
※VirtualBox とは仮想環境を構築するためのツールです
※試したのは バージョン 6.0.8 -
Vagrant をインストールしていない方
https://www.vagrantup.com/downloads.html
上記URLからダウンロードしてきてインストールしてください
※Vagrant とは仮想環境の構築をサポートするツールです
※試したのは バージョン 2.2.4
準備
適当な場所へ ディレクトリ (名前は docker とする) を作成し、
その配下へマウント用の ディレクトリ (名前は data とする) を作成し、
同じ階層へ以下の内容で Vagrantfile を作成します
docker/
├ data/
└ Vagrantfile
Vagrant.configure("2") do |config|
# Vagrant Box で 「bento/ubuntu-18.04」を指定
config.vm.box = "bento/ubuntu-18.04"
# IPアドレスの設定
config.vm.network "private_network", ip: "192.168.33.10"
# ホストのポート1234へのアクセスをVMのポート22に転送
# ※127.0.0.1:1234 が 192.168.33.10:22 へ転送される
# ※vagrant up 時に利用される
# ※設定しない場合、guest:22, host: 2222 がデフォルトで割り当たる
# ※適宜ホストで空いているポートに変更してください
config.vm.network "forwarded_port", guest: 22, host: 1234, id: 'ssh'
# SSH 秘密鍵を利用しない(所詮ローカルの確認環境のため)
config.ssh.insert_key = false
config.ssh.username = 'vagrant'
config.ssh.password = 'vagrant'
# ./data ディレクトリを /vagrant_data としてマウント
config.vm.synced_folder "./data", "/vagrant_data"
# シェルスクリプトの実行
# ※privileged は sudo で実行するかのフラグ(デフォルトは true)
config.vm.provision :shell, privileged: false, inline: $script
end
$script = <<SCRIPT
######################################################################
# Docker リポジトリの登録
# パッケージの更新
sudo apt-get update
# HTTPS利用のためのパッケージをインストール
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
# Docker公式の GPG を追加
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# リポジトリの設定
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
######################################################################
# Docker CE のインストール
# (https://docs.docker.com/install/linux/docker-ce/ubuntu/)
# パッケージの更新
sudo apt-get update
# Docker CE のインストール
sudo apt-get install -y docker-ce
######################################################################
# Docker Compose のインストール
# (https://docs.docker.com/compose/install)
# Docker compose のダウンロード
# ※適宜 https://github.com/docker/compose/releases の最新バージョンへ書き換えてください
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 実行権限の付与
sudo chmod +x /usr/local/bin/docker-compose
######################################################################
# vagrant ユーザーを docker グループへ追加
sudo usermod -aG docker vagrant
SCRIPT
コマンドの実行
コマンドプロンプト や PowerShell などを起動し、
Vagrantfile を置いている場所へ移動して、以下のコマンドを実行します
$ vagrant up
SSH 接続してみる
無事、vagrant up による仮想環境の構築・起動が終わったら、
以下のコマンドで SSH 接続してみます
$ vagrant ssh
もしくは別でターミナルを立ち上げて 127.0.0.1 の ポート 1234 または 192.168.33.10 の ポート 22 へ SSH 接続する
接続出来たら、ユーザー名 vagrant
、パスワード vagrant
を入力してログインします
Docker、Docker Compser コマンドの確認
# Docker のバージョン確認
$ docker version
# Docker Composer のバージョン確認
$ docker-composer --version
無事、バージョンの確認が出来たら、環境の構築は完了です。
続いて
続いて、 「動かしながら Docker を理解しよう」 にて Docker の理解へ進みましょう