188
182

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Dockerチートシート

Posted at

Dockerチートシート

個人的によく使うコマンドのまとめ

2014/05/20現在の情報です。

設定確認

docker version    # Dockerのバージョン表示
docker info       # コンテナ・イメージ数、ユーザ情報など現在の情報表示

コンテナ起動

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

# 例: ubuntu_hostというホスト名でubuntuを起動。
docker run -it -h ubuntu_host ubuntu:14.04 /bin/bash 

# 例: 最大メモリ使用量を256MBに制限して起動。終了したらコンテナ自動削除
docker run -it -m 512m --rm ubuntu:14.04 /bin/bash

# 例: redisというコンテナ名でコンテナをバックグラウンドで起動
# (コンテナ名はLink,マウント機能で利用)
docker run -d --name redis dockerfile/redis

# 例: 上で作成したredisコンテナに対してdbというエイリアスをつけてコンテナ間通信
docker run -it --link redis:db ubuntu /bin/bash

# 例: 6379ポートをホストにマッピング、ホストの/data/redisをコンテナの/dataにマッピング
docker run -d -p 6379:6379 -v /data/redis:/data --name redis dockerfile/redis

コンテナ間通信の参考: Dockerコンテナ間のlink,database.ymlの書き方 | SOTA

メジャーなレポジトリ

  • busybox, centos, ubuntu, debian
    • 公式イメージ。人気なのは言わずもがな
  • dockerfile/*
    • Dockerfile Projectが管理。
    • ElasticSearch,nginx,redis,mongodbなど。baseはubuntu 14.04
    • よくメンテナンスされている
    • プログラムはソースからmakeしており、ほぼ最新
    • dockerfileで作成されているため、自分で変更もしやすい
  • orchardup/*
    • Orchard (Dockerコンテナのホスティングサービス会社) が提供
    • redisやpostgresql,nginxなど。baseはubuntu12.04
    • 比較的安定している感じ
  • tutum/*
    • Tutum もDockerコンテナのホスティングサービス
    • MySQLやRabbitMQなど。
    • よく更新されている。baseはubuntu14.04
  • base
    • 今は非推奨。中身はubuntu12.10。
  • stackbrew/*
    • オフィシャルパッケージの管理者(?)
  • google/*
    • Google Cloud Platform関連など

個人的にはDockerfile Projectが使いやすそうな感触。
データも/dataに入るようになっているため、ホストのディスクをマウントさせやすい。

コンテナ操作

docker ps -as            # コンテナ一覧(停止コンテナ含む、サイズ表示)

docker start CONTAINER   # コンテナを起動
docker restart CONTAINER # コンテナ再起動
docker stop CONTAINER    # コンテナ終了
docker kill CONTAINER    # コンテナ強制終了

docker attach CONTAINER  # コンテナへアタッチ

docker top CONTAINER     # コンテナのプロセスを表示
docker logs -f CONTAINER # コンテナのログを表示(ログ出力をfollow)
docker inspect CONTAINER # コンテナの情報を表示

docker rm CONTAINER      # コンテナを削除

イメージの操作

docker pull NAME[:TAG]
docker images --tree     # イメージ一覧表示(ただし,treeオプションは非推奨)

docker inspect IMAGE     # イメージの情報を表示
docker rmi IMAGE         # イメージを削除

イメージ作成

# dockerfileからイメージ作成
docker build -t NAME[:TAG] .
# またはコンテナからイメージを作成
docker commit -m "comment" CONTAINER NAME[:TAG]

# 自分のイメージをpush
docker login
docker push NAME[:TAG]
188
182
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
188
182

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?