管理人Kのひとりごと

デジモノレビューやプログラミングや写真など

Docker良く使うコマンドなど

自分用の備忘録。

よく使うコマンド

イメージ

プログラム、ライブラリ、ミドルウェア、OSなどの設定をまとめたコンテナのひな形

レジストリ

イメージ置き場。Docker Hubとか、ECRのほかに、自分でプライベートなレジストリを立てることもできる

Dockerのコマンド(イメージ関係で代表的なもの)

イメージのダウンロード

docker pull <イメージ名>(:タグ名)
例)docker pull centos:latest

イメージの一覧表示

docker images

イメージの詳細情報の表示

docker images <イメージID>

イメージの検索

docker search <検索キーワード>

イメージの削除

docker rmi

イメージをDocker Hubにアップロードする

docker push <イメージ名>(:タグ名)

Dockerのコマンド(コンテナ関係で代表的なもの)

コンテナの作成

docker create

コンテナの作成→起動

docker run <イメージ名>(:タグ名)
例)docker run -it --name "test1" centos /bin/bash
→「test1」と名前を付けて、centosの最新版のイメージからコンテナを作成し、
 /bin/bashを起動して、ttyを利用し、結果を標準出力に出力する
例)docker run -d -p 8080:80 -v "/tmp/test/:/usr/local/apache2/htdocs/" httpd
→バックグラウンドでhttpdを起動し、コンテナ:80をLocalhost:8080にポートフォワード、
 ローカルの/tmp/testを、コンテナの/usr/local/apache2/htdocsへマウント。
 (ローカルの/tmp/testにおいたHTMLを、localhost:8080で表示できる)

稼働コンテナの一覧表示

docker ps
例)docker ps -a
→停止しているコンテナ含め一覧表示

コンテナの起動

docker start <コンテナID>

稼働中のコンテナにアタッチ

docker attach <コンテナ名>
例)docker attach test1

稼働中のコンテナから抜ける

Ctrl + p→Ctrl + q
※exitだと、コンテナが終了してしまう

稼働コンテナでプロセスを実行する

docker exec <コンテナID>
例)docker exec -it fede82fc1826 /bin/cal
→コンテナID「fede82fc1826」に対して/bin/calを実行し、
 結果を標準出力に出力する

稼働コンテナのプロセスを確認する

docker top <コンテナID>

稼働中のコンテナを停止する

docker kill <コンテナID>

コンテナを削除する(≠イメージの削除)

docker rm <コンテナID>

コンテナからイメージを作成する

docker commit <コンテナID> <イメージ名>