GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

Docker でコンテナに関する情報を取得する方法

ホスト上で実行されているコンテナの情報を取得する方法について簡単に説明します。これは、xen の「xm list –long [domain_ID]」コマンドに似ています。

Docker コンテナの外部から情報を取得する

1. 以下は、ホスト ノードに存在するイメージのリストです。

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
fedora              latest              422dc563ca32        2 days ago          252MB
ubuntu              latest              dd6f76d9cc90        13 days ago         122MB
hello-world         latest              725dcfab7d63        13 days ago         1.84kB
centos              latest              d123f4e55e12        13 days ago         197MB

2. docker イメージの 1 つを起動します。

# docker run -it -d 422dc563ca32 /bin/bash
52249ba75f0fa33f93202f4a2d7f83bc71600b8b75ea4db0bc5b56022bf254b6

3. 新しい Docker コンテナが実行されていることを確認します。

# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
52249ba75f0f        422dc563ca32        "/bin/bash"         About a minute ago   Up About a minute                       gracious_keller

調べる 「」コマンドは、コンテナの完全な情報を一覧表示します。最初の列にリストされているコンテナ ID を inspect オプションとともに使用します。ここではかなり長い出力が得られます。

# docker inspect 52249ba75f0f
[
    {
        "Id": "52249ba75f0fa33f93202f4a2d7f83bc71600b8b75ea4db0bc5b56022bf254b6",
        "Created": "2017-11-17T14:38:05.340313315Z",
        "Path": "/bin/bash",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 1535,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2017-11-17T14:38:05.638951265Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        }
        .......

4. これは、検証が必要なものに基づいて切り詰めることもできます。たとえば、Docker コンテナのネットワーク部分に関する情報しか取得できませんでした。

# docker inspect --format='{{ .NetworkSettings.IPAddress }}' 52249ba75f0f
172.17.0.2
# docker inspect --format='{{ .NetworkSettings.Gateway }}' 52249ba75f0f
172.17.0.1

Docker コンテナ内から情報を取得する

以下の例は、Docker コンテナー内からの設定を表示するためのものです。

1. まず、docker コンテナーにアタッチします。

# docker attach 52249ba75f0f

2. 真新しいコンテナにアタッチすると、ifconfig、route などのコマンドが機能しません。 docker は最小限のインストールであり、必要に応じてパッケージをインストールする必要があります。そのため、ifconfig と route コマンドを実行するには、まず net-tools をインストールします。 パッケージ。

# yum install net-tools

3. コマンド ifconfig と route を実行して、Docker コンテナに関する必要な情報を取得します。

# ifconfig -a
eth0: flags=4163[UP,BROADCAST,RUNNING,MULTICAST]  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 0.0.0.0
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 36502  bytes 72894961 (69.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 22286  bytes 1594850 (1.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73[UP,LOOPBACK,RUNNING]  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.17.0.1      0.0.0.0         UG    0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0

コンテナ構成ファイル

また、コンテナーに関する情報は構成ファイルとして保存され、コンテナーを再開するために使用できます。コンテナーのパスの場所は、前の「検査」コマンドから収集できます。


Docker
  1. Dockerを使用してWordPressをインストールする方法

  2. DockerコンテナでMySQLを実行する方法

  3. DockerコンテナにSSHで接続する方法

  1. DockerコンテナにVimをインストールする方法

  2. Dockerコンテナを一覧表示する方法

  3. Dockerコンテナを終了する方法

  1. Dockerコンテナ内でプログラムを実行する方法は?

  2. Dockerコンテナに静的IPを割り当てる方法

  3. コンテナー自体から Docker Linux コンテナー情報を取得するにはどうすればよいですか?