この記事について
インフラこわいガクガクブルブルの筆者ですが、ついに Docker の勉強を始めました。
Docker ユーザーには基本的なものであろう各種のコマンドのチートシートとして、こちらのページにまとめてみます。
(勉強進めるごとに随時追記していきます。)
チートシート
基本動作
バージョン確認
docker --version
docker version
docker info
ヘルプを見る
docker help
上記のコマンドを実行すると、Common Commands, Management Commands, Commands などのカテゴリごとにコマンドの一覧が表示される。
Management Commands を引数なしで実行すると、そのコマンドの詳細情報が表示される。
docker container
イメージをプルする
docker hub からイメージを検索
docker search イメージ名
# debian のイメージ検索なら
docker search debian
# MongoDB のイメージ検索なら
docker search mongo
イメージを pull する
docker image pull イメージ名[:タグ]
[:タグ]
部分に入れられるタグ(バージョン)の選択肢は、docker hub のドキュメントに supported tags (and respected image files) として掲載されている。
例:Redisの場合
https://hub.docker.com/_/redis
タグを省略すると、最新バージョンが入る。
ローカルにあるイメージを表示する
イメージの pull が完了すると、ローカルの Docker Image として参照できるようになる。
ローカルの Docker Image は、以下で確認できる。
docker images
docker image ls
Docker コンテナを実行する
httpdを動かす場合を例に。
コンテナを作って実行するまで一気に実施
docker container run -P httpd
-P は、空いているポートを適当に割り当てる指定。
ステップバイステップで実施
# これでコンテナを作る
docker container create -P httpd
# コンテナの一覧を参照する -> コンテナIDが先頭に表示される
docker container ls -a
# コンテナを起動する
docker container start 上記で調べたコンテナID
docker における Hello World
docker container run hello-world
立てた Docker Container でコマンドを実行する
コマンド実行する用のコンテナを立てる
たとえばこんな感じのコマンドでコンテナを立てる(CentOSでもOK)
docker container run debian
👆 debian のイメージがなければ、public のライブラリから pull してコンテナを一瞬立てる、しかし実行する命令がないのですぐに exit する
コマンド実行する用のコンテナを立ててると同時にコンテナに入る
docker container run -it debian
こうすると、debian のコンテナの中に入って好きなコマンドをたたける。exit コマンドを叩くとコンテナから抜け、コンテナも消える
一度消したコンテナを再び起動する
docker container start コンテナID
コンテナIDは、一意に識別できるところまででOK
👆のやりかたで作ったコンテナに入る
docker container exec -it コンテナID bash
👆コンテナにルートで入れるよ
コンテナに入らずに、コンテナ上でコマンドを動かす
docker container exec コンテナID コマンド
Docker Hub の利用
ログイン
docker login
ユーザー名とパスワードを聞かれるので入力
イメージを DockerHub に Push
docker image push レポジトリ名:タグ
レポジトリ名とタグは、イメージの一覧から確認可能
# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
chihirosano/my_centos 1.0 4e83c8412814 6 days ago 233MB
chihirosano/my_centos latest 4e83c8412814 6 days ago 233MB
getting a shell into a container
docker container run -it centos # to detach from the container without stopping it press: Ctrl + P + Q