LoginSignup
0
2

More than 3 years have passed since last update.

Docker の動作環境をコマンド一発で立ち上げる

Last updated at Posted at 2019-06-20

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
Vagrantfileの中身(文字コードはUTF-8、改行コードはLFとする)
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 の理解へ進みましょう

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2