ドットインストールを開いて、Dockerのレッスンをしてみました!ちょっとメモを残しておきます。詳細はドットインストールでご確認下さい。
久しぶりにDockerもどんどん更新されているようで、このビデオが作られた時と現在ではDockerのサイトにも変化があるようですが、現時点ではレッスン通りにやって動かすことが出来ました!
準備
Vagrantの環境を用意する
- A list of base boxes for Vagrant – Vagrantbox.es からUbuntuのtrusty 64bit版のURLをコピーする
vagrant box add <上記URL>
- 今回テストするディレクトリに移動して
vagrant up
vagrant ssh
でvagrant仮想環境に入る
Ubuntuを利用するのはDockerがUbuntu上で開発されているためということ。
Dockerのインストール
- Docker公式ページにインストール方法がある。これに従ってインストール
sudo docker --version
でインストールの確認、現時点で最も基本的なやり方でインストールした所、1.0.1になりました。
vagrant@vagrant-ubuntu-trusty-64:~$ sudo docker --version Docker version 1.0.1, build 990021a
Dockerを使う!
利用したいRepositoryを探す。
今回はCentOSを入れます。
$ sudo docker pull centos
インストールしたイメージを確認する
$ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos centos5 504a65221a38 4 weeks ago 467.1 MB centos centos6 68edf809afe7 4 weeks ago 212.7 MB centos centos7 87e5b6b3ccc1 4 weeks ago 224 MB centos latest 87e5b6b3ccc1 4 weeks ago 224 MB
たくさん出てきた。
詳細を見る
$ sudo docker inspect 87e [{ "Architecture": "amd64", ... "Size": 224000043 } ]
指定は、IDでも、tagでもOK。
イメージを削除する
$ sudo docker rmi 504 Untagged: centos:centos5 Deleted: 504a65221a38cb6bc24d9858643b2d8f564caf79d4ffd7839c1d2da212156340
Containerを作る
$ sudo docker run centos:latest echo "hello world" hello world
:latestは省略可能。
Containerを確認する。
$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 532decf97efe centos:centos7 echo 'hello world' 27 seconds ago Exited (0) 27 seconds ago distracted_rosalind
Containerを削除する
sudo docker rm 532
バックグラウンドで処理を実行
sudo docker run -d centos free -s 3
実行中のタスクを止める
sudo docker kill 3d4
タスクを再開する
sudo docker start 3d4
イメージを作る
$ sudo docker commit 75d naoki/hello 444eef415991fe374c14c9a1eb9983b884997134c1852fa5823e054212f24f7a $ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE naoki/hello latest 444eef415991 12 seconds ago 224 MB centos centos7 87e5b6b3ccc1 4 weeks ago 224 MB centos latest 87e5b6b3ccc1 4 weeks ago 224 MB
naoki/helloができた!
Dockerfile : #10 Webサーバーを立ち上げてみよう | Docker入門 – プログラミングならドットインストール
DockerfileにOSにやってほしいことを記述することで、イメージ作成時にいろいろやってくれる。便利!