えくすぽーと備忘録

ただの備忘録です。過度な期待はしないでください。

dockerをubuntu14.10で使うメモ

はじめに

dockerは去年(2014年)によくニュースになった技術で、自分は使ったことがなかったので使ってみたいと思います。うちのPCのOSはUbuntu14.10LTSですので、その場合の入れ方をまとめます。
※注意 自分は詳しい人間ではないのでちゃんと知りたい方は参考文献を参照してください。

どんなものか[1]

コンテナー管理ソフトウェアの一つ。
仮想マシンとの主な違い
逐次OSを起動する必要がないこと。よって起動が早い。
Linuxカーネルの機能やLinux向けファイルシステムに依存する。よってLinuxでのみ動作する。

動作環境[1]

  • Ubuntu 12.04 LTS, 13.04以降 64bitのみ
  • CentOS/RHEL:CentOS/RHEL 6.5以降64bitのみ
  • Fedora 19以降 64bitのみ
  • OS X/ Windowsは特殊で、VirtualBoxも必要。公式でboot2dockerをインストールして使う。
    • しかし、Windows8.1、最新版のVirtualBox(2.3.20)で試したところ、難しかった。(入れれてない…だれか教えて)
    • その後... VirtualBox(2.3.22)で試したところうまくいった!

最新版のインストール(Ubuntu)

最新版のdockerの入れ方

  • 必要なものを入れましょう[3]
sudo apt-get update
sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring
  • キーチェーン(鍵輪)をつくってdockerをリストに登録、lxc-dockerをインストール。この時のアドレスは古くなっているかもしれないので公式ページから参照してください[2]
sudo apt-get update
sudo apt-get install apt-transport-https
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
sudo sh -c "echo deb https://get.docker.com/ubuntu docker main /etc/apt/source.list.d/docker.list"
sudo apt-get update
sudo apt-get install lxc-docker


注意:以下からは最新版でないdockerの入れ方
最新版じゃないdocker

sudo apt-get install docker.io

旧版docker

sudo apt-get install docker

インストールが終わったら試してみましょう!

sudo docker run -i -t ubuntu /bin/bash

無事にインストールが終わっていれば、dockerでbashが起動します!閉じるときはもちろんexitです

参考文献

ミックスインって何ぞや...(書きかけ)

1.背景

scala を勉強したく適当にやってて

implicitって何だろうという感じになった

いや,ちょっと待て...traitもわからないぞ?

それで,ggったりコップ本を読んだりしていた

しかもミックスインってなんだよ...状態

これはもはや,どうすればいいのかわからない(´・ω・)

そこで,まずはtraitからやろうかなと思い立ったわけなんだけど,これ継承や合成をひとまずやってからやった方がよかったんだろうか…

2.継承でミックスイン?

REPLでちょっと適当に遊んでみた

trait Funabashi
  def ad() {
    println("船橋市の名産は梨だよ!")
  }
}

extendsを使えばトレイトを"ミックスイン"できるらしい

class Funassy extends Funabashi {

  override def toString = "ふなっしぃなっしーーーーー!!!!!!!"

}

これで適当に実行する

scala> val funassy = new funassy

fanassy: Funassy = ふなっしぃなっしーーーーー!!!!!!!

 

scala>funassy.ad()

船橋市の名産は梨だよ!

こんな感じで実行できた(適当)

トレイトから継承したメソッドad()がスーパークラスから継承したメソッドのように使えるみたい(これじゃ普通のクラスとあんまり変わりないじゃん?)

”ミックスイン”って何かと思ったけど,トレイトで宣言した関数を子クラス?側で使うことが出来るから混ぜ合わせた感じになってるからミックスインなのかな?

もう少し続きを後で書こうと思う