自分用の備忘録。
用語
イメージ
プログラム、ライブラリ、ミドルウェア、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 exec -it <container_id> /bin/bash →<container_id>のシェルに接続する
稼働コンテナのプロセスを確認する
docker top <コンテナID>
稼働中のコンテナを停止する
docker kill <コンテナID>
コンテナを削除する(≠イメージの削除)
docker rm <コンテナID>
コンテナからイメージを作成する
docker commit <コンテナID> <イメージ名>
コンテナのログを表示する
docker logs <コンテナID>