勉強会用に「昨日Dockerをはじめました」という資料を作りました。
『dockerがどういうものなのか?』に関しては少し前からネット上で記事を読んでいたりはしたのですが、実際に使ってみたのは、文字通り「勉強会前日から」でした。
その時に出会ったコマンド達です。
皆様もdockerを始めると出会う事になると思います。
なお、mac上で作業していたので、boot2dockerを利用しています。
コマンド一覧
boot2docker init
docker vm イメージ作成
boot2docker start
docker vm 起動
boot2docker ssh
docker vm 接続
docker images
イメージ一覧確認
docker pull centos
公式のリポジトリからcentosのイメージを取得
docker inspect [image id]
イメージの情報を確認
docker rmi [image id]
イメージの削除
dockeer rmi REPOSITORY:TAG という指定でもOK
docker run centos uname -a
コンテナの作成
上記では、centosの最新のイメージを使ってuname -aを実行する
docker run -i -t centos /bin/bash
-i コンテナをインタラクティブ起動
これでコマンドの実行が終わってもすぐにデタッチされません
-t ttyオプション
docker ps -a
稼働中のコンテナ一覧の確認
-aを付けると停止中のコンテナも一覧に出る
docker rm [container id]
コンテナの削除
docker start [container id]
コンテナの起動
docker attach [container id]
コンテナのアタッチ
docker start -a [container id]
コンテナを起動してアタッチ
docker logs [containter id]
コマンドの実行履歴
docker top [container id]
コンテナ内のプロセス
docker cp [container id]:[path] [local path]
コンテナ内のファイルをローカルにコピー
docker commit -m "めっせーじ" [conatiner id] タグ名
コンテナからイメージを作成
タグ名は <ユーザー名>/<イメージ名>
sudo docker build --no-cace --rm --tag タグ名 [local path]
Dockerfileを元にイメージを作成する
local pathはDocumentfileが存在しているディレクトリパス (カレントにある場合は、./)
--rmがないと、Dockerfileの1行毎にコンテナを作ってしまうので、ほぼ必須
とりあえず、これだけあれば基本的な作業は困らないと思います!