61
57

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

流行りにのるために Vagrant で用意した ubuntu に Docker を導入してみた

Posted at

目的

  • 今回は Docker を触ってみるという目的のための投稿です。

  • とても有意義なことができるようになるわけではありません。

  • Ubuntu で動かすのがおすすめのようなので、 Vagrant で用意します。

    • 仮想マシンの上で仮想マシンを動かすというよくわからない感じになりますが。。
  • Docker とは何か。他のツールとの違いは?というのは こちら でまとめています。

Vagrant で Ubuntu 用意

  • Vagrant での仮想マシンの用意はここでもまとめているが、せっかくなので Ubuntu 14.04 を使用する
# Ubuntu 14.04 の Box を取得
$ box add ubuntu1404 http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box
# 初期化
$ vagrant init ubuntu1404
# Vagrantfile の config.vm.network のコメントを外した後、仮想マシンを起動
$ vagrant up
# 仮想マシンにログイン
$ vagrant ssh

Docker インストール手順

$ sudo apt-get update
$ sudo apt-get install docker.io
$ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker

インストール後にバージョン確認

$ docker -v
Docker version 0.9.1, build 3600720

Docker image の取得から登録まで

Docker 上で動かす OS (イメージ) の取得

# docker index の表示
$ sudo docker search ubuntu
# 任意のイメージを取得
$ sudo docker pull ubuntu
# 取得したイメージの確認
$ sudo docker images
# 任意のイメージ詳細情報表示
$ sudo docker inspect REPOGITORY:TAG
# 任意のイメージ削除
$ sudo docker rmi REPOGITORY:TAG
  • 今回 REPOGITORY:TAG となっている箇所はすべて、 ubuntu:latest で作業する

取得したイメージの実行

  • コンテナの作成
# コンテナの作成
$ sudo docker run REPOGITORY:TAG echo "Hello, Docker"

Hello, Docker
# 作成したコンテナの表示
$ sudo docker ps -a
# コンテナの削除
$ sudo docker rm CONTAINER_ID

イメージを作成する

  • 自分でカスタマイズした状態のイメージ作成
# docker コンテナ内で作業用意
$ sudo docker run -i -t REPOGITORY:TAG /bin/bash
# vim をインストールする
root@xxxxxxxxxxxx:# sudo apt-get install vim
# docker コンテナからぬける
root@xxxxxxxxxxxx:# exit
# 作成したコンテナの確認
$ sudo docker ps -a
# コンテナのイメージを作成する
$ sudo docker commit CONTAINER_ID IMAGE_NAME(username/vim)
# 作成したイメージの確認 (username/vim という REPOGITORY があることを確認する)
$ sudo docker images
# 作成したイメージを元にコンテナを作成
$ sudo docker run -i -t username/vim:latest /bin/bash
# vim が起動できれば OK

Docker index への登録

  • カスタムイメージを docker index に登録
  • 事前に Docker のアカウントを取得しておく必要あり
# Docker へのログイン
$ sudo docker login
# 任意のイメージを push する
$ sudo docker push username/vim

Dockerfile の使用

  • Dockerfile は環境構築の手順を記載できる
  • Dockerfile を作ることで、イメージの取得から新たなイメージの作成までを build コマンドで行えるようになる
Dockerfile
# Base Image の取得
FROM ubuntu:latest
# Author 情報を記載(必須ではない)
MAINTAINER kasaharu
# build 時に実行すること
RUN apt-get install -y vim
# コンテナを実行した時のコマンド
CMD ["echo", "running!"]
  • Dockerfile の実行
    • 作られるイメージの REPOGITORY 名と TAG 名を指定できる
# REPOGITORY 名と TAG 名を指定して build を実行
$ sudo docker build -t REPOGITORY:TAG .
# イメージ一覧の表示(FROM で指定したイメージと build 時に指定したイメージがあれば OK)
$ sudo docker images
# 今作られたイメージからコンテナを作成(CMD で指定したコマンドが実行される)
$ sudo docker run REPOGITORY:TAG

参考

61
57
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
61
57

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?