DockerでCentOSのコンテナを作ってgitを使うまで

TOC

  1. Dockerのバージョン
  2. まずCentOSのイメージをpullしてくる
  3. コンテナーを作る
  4. centosのbashに入る
  5. Git を入れる
  6. コンテナーを実行したまま、さらっと抜ける
  7. コンテナー、イメージを消す方法も一応
  8. まとめ

Docker楽しいです!
簡単にコンテナを作れて、開発環境の構築に便利です!

gitを選んだのは、簡単にインストールができるからです。

Dockerのバージョン

1
2
$ docker -v
Docker version 1.9.1, build a34a1d5

まずCentOSのイメージをpullしてくる

1
2
3
4
5
6
$ docker pull centos
Using default tag: latest
...
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos latest c8a648134623 2 weeks ago 196.6 MB

docker pull [イメージ名]でイメージをpull=取得できます。
docker imagesで、pullしたイメージの一覧を取得できます。

コンテナーを作る

1
2
3
4
5
$ docker run -itd centos /bin/bash
...
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ccb0715533a4 centos "/bin/bash" 3 seconds ago Up 2 seconds clever_morse

docker runコマンドで、イメージからコンテナを作成し、実行できます。
オプションで、itはなんか必ず使います。dでバックグラウンドでの実行を許可します。
dを指定しないと、すぐに終了するので、docker psコマンドでは表示されず、docker ps -aで表示されるようになります。
-it -dと分けてもOKです。
コマンドの最後に、/bin/bashと書くのは、bashを実行するためです。

docker psコマンドで、実行中のコンテナの一覧を取得できます。停止したコンテナも取得するには、docker ps -aを使います。
CONTAINER IDをメモしておいてください。次使います!

centosのbashに入る

1
2
3
4
5
$ docker attach [CONTAINER ID 最初の一文字]
(上の例だと docker attach c)
(Enterキーを押す)
[root@CONTAINER ID /]# echo hello
hello

docker attach時のCONTAINER IDは、ここではコンテナーが1つしかないので、最初の1文字でかまいません。
コンテナーが複数あり、IDの最初の1文字がかぶっている場合は、2文字目を入力・・と、識別できるようにしましょう。

※#以降の文字がコメントだと思われて緑になってしまいますが違いますw

Git を入れる

1
2
3
4
5
6
7
8
9
[root@CONTAINER ID /]# yum -y update
...
[root@CONTAINER ID /]# yum -y install git
...

Complete!
[root@CONTAINER ID /]# git --version
git version 1.8.3.1
[root@CONTAINER ID /]#

コンテナーを実行したまま、さらっと抜ける

1
2
3
4
5
[root@CONTAINER ID /]# Ctrl+P Ctrl+Q

$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ccb0715533a4 centos "/bin/bash" 3 seconds ago Up 2 seconds clever_morse

Ctrl+P Ctrl+Q で、実行したまま抜けられます。
実行したままなので、docker psに表示されます!

exitと打つと、停止されてしまいます。

コンテナー、イメージを消す方法も一応

消したくない人は飛ばしてください。

まずはコンテナーを止めて、消しましょう。
docker rmで、コンテナーを削除します。

1
2
3
4
5
6
7
8
$ docker stop [CONTAINER IDの一文字目]
..
$ docker rm [CONTAINER IDの一文字目]
..
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

(表示されない)

docker stopで、コンテナーを安全に停止させます。
どっちみち後で消すので、docker killでもいいです。

イメージも消しちゃえ!
docker rmiで、イメージを削除します。

1
2
3
4
5
6
7
8
9
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos latest c8a648134623 2 weeks ago 196.6 MB
$ docker rmi [IMAGE IDの一文字目]
..
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

(消えた)

まとめ

どうでしょう!簡単にコンテナーを作成できて、簡単に削除できます。
使い捨てのテスト環境とかの構築にも使えます。

最後までお読みいただき、ありがとうございました!