LoginSignup
27
24

More than 5 years have passed since last update.

超初心者が始めるDocker入門?1

Posted at

Dockerってあれでしょ?なんかスゴイやつ。
レベルの理解だった私がとりあえず本を一冊読み進めつつ其の成果をアウトプットしていく感じで。

こんなクジラの本を購入。購入判断は薄かったから。

Dockerとは?

開発環境では動く、本番環境では動かない

  • 割とよくある現象
    • gemが足りてない
    • apt-get忘れてる
  • 1台ならまだしも、複数台だと面倒
  • vagrantを使ってVMを作る
  • Dockerという別のアプローチ

完全仮想化のデメリット

  • 起動が遅い
  • メモリ、HDDの消費が大きい

完全仮想のVM自体は悪く無いけれど、手軽さが足りない

Docker = 手軽な仮想化

  • ホストのカーネル流用
    • 起動が早い
    • メモリ、HDDの消費が小さい
  • カーネルが違うVMは動かせない

動かしたいアプリケーションだけを含んだimageを使えば、手軽にそのアプリケーションを試せる。キーワードは手軽さ。簡単に作れてすぐ消せる。

Dockerエキスパート養育読本

  • 名前にエキスパートとあるけど入門書
  • サブタイトルがゼロから始めるDocker入門だし

他にもまだ読んでないけど

がよさ気。特にDocker実践ガイドの方は2015/12にでたばかりっぽくてGood。

いきなり Boot2Dockerはdeprecated

古い本(それでも2014年)を買うとこういうことがしばしばおきます。薄さで選ばないほうがいいですね。

  • Boot2Dockerはdeprecated
  • 代わりに docker-machine を使えとのこと
brew cask install docker-machine

docker-machine はホストカーネル選択

  • Boot2Docker はlocalhostに linux VMを立ててそれを選択していた
  • docker-machine はAWSとか他の選択肢もある

MacとかWindowsでBoot2Dockerをインストールするよう書かれているのはLinuxカーネルではないため。Dockerを動かすための最小構成Linuxをvirtualboxで用意してやらないと、これらのOSではそのままではDockerは使えない。

docker-machine create --driver virtualbox default 

ホストとして--driver virtualbox、それに名前defaultをつける

docker pull, create, start

  • Docker Hubに登録されてるimageをpullして保存
  • このimageをもとにコンテナを作る
docker pull hello-world:latest  
docker create --name hello hello-world 
docker start -i hello
  • docker create --name name image_name でコンテナに名前 name をイメージ image_name から作る
  • docker start name で実行 -i でSTDINへ
  • いらないコンテナはdocker rm
  • いらないイメージはdocker rmi

基本操作はこれくらいかな。もう少し読み込んで気分が向いたらその2書きます。

27
24
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
27
24