0
0

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 1 year has passed since last update.

Docker新コマンドのまとめメモ

Posted at

Docker、Docker Composeの新コマンドを備忘録的に記す。
間違いや指摘があればコメントお願いします。

Dockerコマンド

イメージをダウンロードする

$ docker image pull <イメージ名>

イメージ一覧を表示する

$ docker image ls

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

$ docker image inspect <イメージ名 or イメージID>

イメージレイヤーを確認

$ docker image history <イメージ名 or イメージID

イメージを削除する

$ docker image rm <イメージ名 or イメージID>

イメージからコンテナを作成し、起動する

$ docker container run <イメージ名 or イメージID>

  • --name:コンテナに任意の名前をつける
  • --rm:コンテナを実行した後に自動削除する
  • -d:デタッチドモードでコンテナを起動する。何もつけないとフォアグラウンドモードで起動する

コンテナを起動して任意のコマンドを実行させる

$ docker container run -it <イメージ名 or イメージID> <実行したいコマンド名>

  • 例)$ docker container run -it ubuntu:20.04 ls

コンテナ一覧を表示する

$ docker container ls

起動中のコンテナを止める

$ docker container stop <コンテナ名 or コンテナID>

コンテナを再起動する(Upにする)

$ docker container restart <コンテナ名 or コンテナID>

Up状態のコンテナに任意のコマンドを実行させる

$ docker container exec <コンテナ名 or コンテナID> <実行したいコマンド>

  • -d:デタッチドモードでコンテナを起動する。何もつけないとフォアグラウンドモードで起動するため、コンテナのログが画面上に出力され、続けてコマンドがを打つことができなくなる

デタッチドモードのコンテナに接続する

$ docker container attach <コンテナ名 or コンテナID>

コンテナを破棄する

$ docker container rm <コンテナ名 or コンテナID>

  • Exitedになっているコンテナにしか有効でない
  • -f:動作中のコンテナも強制削除する

停止済みのコンテナをすべて削除

$ docker container prune

Dockerfileからイメージを作成する

docker image build <ディレクトリパス>

  • ディレクトリパスはDockerfileが保存されているパス
  • -t:イメージ名:タグ名をつける
  • $ docker image build -t <イメージ名>:<タグ名> <ディレクトリパス>

新しいvolume領域を作成する

docker volume create <ボリューム名>

volume領域一覧を表示する

$ docker volume ls

指定したvolume領域の詳細情報を表示する

$ docker volume inspect <ボリューム名>

指定したvolume領域を削除する

$ docker volume rm <ボリューム名>

volumeに接続しながらコンテナを起動する

$ docker container run -v <ボリューム名>:<コンテナ内絶対パス> <イメージ名 or イメージID>
$ docker container run --mount type=volume src=<ボリューム名>,dst=<コンテナ内絶対パス> <イメージ名 or イメージID>

バインドマウントしながらコンテナを起動する

$ docker container run -v <ホスト絶対パス>:<コンテナ内絶対パス> <イメージ名 or イメージID>
$ docker container run --mount type=bind,src=<ホスト絶対パス>,dst=<コンテナ内絶対パス> <イメージ名 or イメージID>

  • 毎回絶対パスを入力するのは面倒なので$(pwd)/...とすると良い

ホストとコンテナのポートを紐付ける

$ docker container run -p <ホスト側のポート>:<コンテナ側のポート> <イメージ名 or イメージID>

  • -pによってホストマシンのポートとコンテナのポートを紐付ける

ネットワークの一覧を表示する

$ docker network ls

ネットワークの詳細情報を表示する

$ docker network inspect <ネットワーク>

新しいネットワークを作成する

$ docker network create <ネットワーク>

指定したネットワークに接続したコンテナを起動する

$ docker container run --network <ネットワーク> <イメージ名 or イメージID>

ネットワークを削除する

$ docker network rm <ネットワーク>

Docker Composeコマンド

Docker Composeを使ってコンテナの作成と起動

$ docker compose up

  • --build:イメージの作り直しが行われる
  • -d:デタッチドモードでコンテナを起動する。何もつけないとフォアグラウンドモードで起動するため、コンテナのログが画面上に出力され、続けてコマンドがを打つことができなくなる

Docker Composeでコンテナを停止

$ docker compose stop

Docker Composeで作成済みのコンテナを起動

$ docker compose start

  • 作成済みのコンテナを起動するだけで、コンテナの作成は行わない
  • 複数のコンテナがある場合は、まとめて起動す

Docker Composeのプロジェクトを一覧表示

$ docker compose ls

Docker Composeでファイルをコピー

$ docker compose cp

  • $ docker compose cp <ホストのファイルパス> <コンテナ名:コンテナ内のファイルパス>:コンテナへファイルをコピー
  • $ docker compose cp <コンテナ名:コンテナ内のファイルパス> <ホストのファイルパス>:ホストへファイルをコピー

Docker Composeで立ち上げたコンテナ一覧を表示

$ docker compose ps

Docker Composeでコンテナ内でコマンド実行

$ docker compose exec <コンテナ名> <実行したいコマンド名>

  • $ docker compose exec <コンテナ名> /bin/bash:コンテナ内でシェルを立ち上げる

Docker Composeでコンテナの作成と実行

$ docker compose run <コンテナ名> <実行したいコマンド名>

  • --rm:コンテナを実行した後に自動削除する

Docker Composeを使用して作成したコンテナの削除

$ docker compose down

  • コンテナが実行中であっても使用可能。コンテナだけではなく紐づくネットワークも自動で削除する
  • --rmi:イメージを削除
  • -v:Docker Composeファイルのvolumesに記載したボリュームと、コンテナにアタッチされた匿名ボリュームを削除
  • --remove-orphans:Docker Composeファイルで定義されていないコンテナも削除

$ docker compose rm

  • コンテナが実行中の場合、使用不可。コンテナを削除するが、紐づくネットワークは削除しない
  • -s:コンテナの停止と削除を同時に行う
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?