Dockerの基本コマンド

Dockerのバージョン確認

docker version

Dockerの環境情報

[root@VM-16-2-centos ~]# docker info
コンテナ: 2
実行中: 0
一時停止: 0
停止済み: 2
イメージ: 0
サーバーバージョン: 18.06.0-ce
ストレージドライバー: overlay2
バックアップファイルシステム: extfs
d_typeサポート: true
ネイティブオーバレイディフ: true
ログドライバー: json-file
cgroupドライバー: cgroupfs
プラグイン:
 ボリューム: local
 ネットワーク: bridge host macvlan null overlay
 ログ: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: アクティブでない
ランタイム: runc
デフォルトランタイム: runc
Initバイナリ: docker-init
containerdバージョン: d64c661f1d51c48782c9cec8fda7604785f93587
runcバージョン: 69663f0bd4b60df09991c08812a60108003fa340
initバージョン: fec3683
セキュリティオプション:
 seccomp
  プロファイル: default
カーネルバージョン: 3.10.0-1160.11.1.el7.x86_64
オペレーティングシステム: CentOS Linux 7 (Core)
OSType: linux
アーキテクチャ: x86_64
CPU: 2
総計メモリ: 3.7GiB
名前: VM-16-2-centos
ID: X4IO:X7A6:55H6:3LY4:NRR2:UXTF:3RH6:246G:YMP4:R26D:MRCN:ZSVX
Dockerルートディレクトリ: /var/lib/docker
デバッグモード (クライアント): false
デバッグモード (サーバー): false
レジストリ: https://index.docker.io/v1/
ラベル:
Experimental: false
不安全なレジストリ:
 127.0.0.0/8
レジストリミラー:
 https://lp4ub15b.mirror.aliyuncs.com/
ライブリスタート有効化: false

コンテナが2つ存在していることを確認できます。コンテナの一覧を確認するには docker container ls -a を使用します。

コンテナの操作ログ取得

# 実時イベントの取得
docker events

# 2022年1月27日以降のmysql関連イベントを表示
docker events --since 2022-01-27 -f image=mysql

イメージの一覧表示

# イメージの一覧を表示
docker images

# 出力例
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
nacos/nacos-server   latest              bdf60dc2ada3        4 months ago        1.05GB
mysql                5.7.25              98455b9624a9        2 years ago         372MB

# 一覧の項目説明
REPOSITORY: イメージのリポジトリ名
TAG: イメージのタグ
IMAGE ID: イメージのID
CREATED: 作成日時
SIZE: イメージのサイズ

# 全てのイメージを表示
docker images -a

# 画像IDのみ表示
docker images -q

Docker Hubからイメージ検索

docker search mysql

イメージのダウンロード

# mysqlイメージをダウンロード
docker pull mysql

# 特定のmysqlバージョンをダウンロード
docker pull mysql:5.7

イメージの削除

# 特定イメージを削除
docker rmi -f 镜像ID

# 全てのイメージを削除(注意:全てのイメージが削除されます)
docker rmi -f $(docker images -aq)

コンテナの作成と起動

docker run [オプション] イメージ名

# オプション説明
--name="Name"  コンテナの名前を指定
-d            バッキグラウンドで実行
-it           インタラクティブモードでコンテナ内に入る
-p            ホストとコンテナのポートをマッピング

# 例
docker run -it centos /bin/bash

コンテナから退出

# コンテナ停止後退出
exit

# コンテナを停止せずに退出
Ctrl+P+Q

実行中のコンテナ確認

docker ps

全てのコンテナ確認

docker ps -a

コンテナの削除

# 特定コンテナを削除
docker rm 容器ID

# 全てのコンテナを削除
docker rm -f $(docker ps -aq)
docker ps -a -q | xargs docker rm

コンテナの起動

docker start 容器ID

コンテナの再起動

docker restart 容器ID

コンテナの停止

docker stop 容器ID

コンテナの強制停止

docker kill 容器ID

その他の基本コマンド

コンテナのログ確認

docker logs

# 最後の10行を表示
docker logs -f -t --tail 10 容器ID

# 説明
-f: リアルタイムでログを表示
-t: 日時を表示
--tail number: 表示するログ行数

コンテナ内部のプロセス確認

docker top 容器ID

イメージの詳細情報取得

docker inspect 容器ID

実行中のコンテナに入る

# 新しいターミナルを開いてコンテナに入る
docker exec -it 容器ID /bin/bash

# 現在のターミナルでコンテナに入る
docker attach 容器ID

コンテナ内のファイルをホストにコピー

docker cp 容器ID:/パス/ファイル名 /ホストパス/

# 例
[root@VM-16-2-centos ~]# docker cp 5120ed565cdd:/home/test.java /root/

タグ: Docker コンテナ イメージ コマンド

7月2日 17:18 投稿