アンリーシュド直列ドッカー - ドッカー容器(7)

docker 容器

1.ドッキングウィンドウデーモンデーモン

デーモンがデーモンであるドッカーさん、ドッカークライアントドッカーデイモンと通信するためのコマンドラインを経由して、完全なドッカー関連事業、ドッカーデーモンドッカー位置/var/run/docker.sockローカルIPC / Unixソケットを達成するために、リモートAPIを経由して、Windowsで、達成するために////./pipe/docker_engineパイプライン:名前のNPIPEを聞くことによって、ドッカーデーモン。設定することで、あなたはドッカークライアントとデーモン間のネットワーク通信の手段によって実施することができます。ドッカー2375にデフォルト以外のTLSのネットワークポート、TLSは、デフォルトポート2376です。

  1. UNIXドメインソケットの
    デフォルトは、/var/run/docker.sockファイルが生成され、ローカル・プロセス間の通信に使用されるUNIXドメインソケットは、このアプローチは、ネットワークソケットに比べてより効率的である。このようです高いが、それが唯一の制限は、ローカルのクライアントアクセスであるということです。

  2. TCPポートリスニング
    サーバーのオープンポートは監視:dockerd -H IP:PORT

サーバーのサービス側のコンテナを作成するには、PORT:ドッキングウィンドウ-H IP:クライアントのIPとポートアクセス・サーバを指定します。

2.ドッカーコンテナ関連の操作

2.1関連コマンド

コマンドの実際の動作で容器を省略することができます。

Usage:  docker container COMMAND

Manage containers

Commands:
  attach      Attach local standard input, output, and error streams to a running container
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container's filesystem
  exec        Run a command in a running container
  export      Export a container's filesystem as a tar archive
  inspect     Display detailed information on one or more containers
  kill        Kill one or more running containers
  logs        Fetch the logs of a container
  ls          List containers
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  prune       Remove all stopped containers
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  run         Run a command in a new container
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  wait        Block until one or more containers stop, then print their exit codes

2.2コンテナの起動

開始する簡単な方法は、コンテナのドッキングウィンドウコンテナrunコマンドです。

docker container run ubuntu
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
7ddbc47eeb70: Pull complete
c1bbdc448b72: Pull complete
8c3b70e39044: Pull complete
45d437916d57: Pull complete
Digest: sha256:6e9f67fa63b0323e9a1e587fd71c561ba48a034504fb804fd26fd8800039835d
Status: Downloaded newer image for ubuntu:latest

最新の画像、対応する画像とドッキングウィンドウハブプル開始から始まる:ローカルのUbuntuの欠如に起因します。ローカルミラーに引き込まれると、デーモンが作成され、コンテナ内の指定された操作に適用されます。

あなたはこの時点たときに、コンテナに起動プロセスを開始し、余分な起動時にプロセスが起動しないので、ドッキングウィンドウのPSで、容器の外に発見しました。

docker container run -it ubuntu bash
root@7f1b6cf7b7aa:/# ps -elf
F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root         1     0  0  80   0 -  4626 -      06:37 pts/0    00:00:00 bash
0 R root        11     1  0  80   0 -  8599 -      06:38 pts/0    00:00:00 ps -elf

実行するときの出口は、第1のプロセスを終了します、コンテナは、実行を停止します「メイン処理容器を殺す、コンテナが殺されるだろう。」コンテナを終了しますキーの組み合わせCtrl-PQを行うことが可能ですが、コンテナが動作して終了しません。これは、シェルのドッカーホストを削減し、バックグラウンドで実行されている容器を維持します。

docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
3f2c72504e24        ubuntu              "bash"              20 seconds ago      Up 19 seconds                           sweet_heisenberg

あなたは+バックグラウンドで実行されている-d LETコンテナを開始することができたとき。

docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
3f2c72504e24        ubuntu              "bash"              20 seconds ago      Up 19 seconds                           sweet_heisenberg
docker container stop 3f2c72504e24
3f2c72504e24
docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
docker container run -it -d ubuntu bash
c95be4dcad34d69693964158138ce19f946b13afd669012659e5cff7715f0400
docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
c95be4dcad34        ubuntu              "bash"              11 seconds ago      Up 10 seconds                           priceless_hofstadter

このとき、再入力の容器を実行することができます

docker exec -it c95be4dcad34 bash

2.3コンテナのライフサイクル

セクションは、コンテナのライフサイクルに焦点を当てて - 作成から、実行している、寝て、プロセス全体の破壊まで。

  • スタートコンテナ
docker container run --name percy -it ubuntu:latest /bin/bash
  • 容器ストップ
    容器の運転を停止するドッカーコンテナ停止コマンドを、一時停止スイッチ(バケーション)状態。
docker container stop percy
  • 再起動のコンテナ
    コンテナを再起動するドッキングウィンドウコンテナstartコマンドを使用して。
docker container start percy
  • 削除コンテナ
    ドッキングウィンドウコンテナのrm -fコマンドを使用して、後で実行している時が実現可能であるコンテナを削除するためのパラメータを追加します。しかし、コンテナまたは2つのステップを削除し停止してコンテナを削除するための最良の方法。ように実行を停止し、コンテナで実行中のアプリケーション/プロセスを与え、残留データの機会をクリーンアップします。
docker container rm percy

コンテナのライフサイクルをまとめるために。必要に応じて多くの時間は、停止、開始、一時停止、およびコンテナを再起動し、すぐにこれらの操作を行うことができます。しかし、コンテナとそのデータは安全です。明示的にコンテナの前に削除されるまで、コンテナは、データを破棄しません。容器が取り外された場合でも、データがコンテナボリュームに格納されている場合、データが保存されます。

2.4ビューコンテナ詳細

ドッカーミラーを構築する場合は、デフォルトのアプリケーション埋め込まれた命令によって実行されている血管の開始を一覧表示することもできます。あなたがドッキングウィンドウの画像はミラーを実行するために、容器を検査確認するためにrunコマンドを使用すると、血管がアップを実行し始めたとき、あなたは、アプリケーションのリストを見ることができます。同時に、あなたはc95be4dcad34を検査ドッキングウィンドウコンテナがコンテナの詳細を表示することができます

3.まとめ

docker container run是启动新容器的命令。该命令的最简形式接收镜像和命令作为参数。镜像用于创建容器,而命令则是希望容器运行的应用。docker container run -it ubuntu /bin/bash命令会在前台启动一个Ubuntu容器,并运行Bash Shell。
Ctrl-PQ会断开Shell和容器终端之间的链接,并在退出后保持容器在后台处于运行(UP)状态。
docker container ls用于列出所有在运行(UP)状态的容器。如果使用-a标记,还可以看到处于停止(Exited)状态的容器。
docker container exec允许用户在运行状态的容器中,启动一个新进程。该命令在将Docker主机Shell连接到一个运行中容器终端时非常有用。docker container exec -it <container-name or container-id> bash命令会在容器内部启动一个Bash Shell进程,并连接到该Shell。为了使该命令生效,用于创建容器的镜像必须包含Bash Shell。
docker container stop命令会停止运行中的容器,并将状态置为Exited(0)。该命令通过发送SIGTERM信号给容器内PID为1的进程达到目的。如果进程没有在10s之内得到清理并停止运行,那么会接着发送SIGKILL信号来强制停止该容器。docker container stop可以接收容器ID以及容器名称作为参数。
docker container start会重启处于停止(Exited)状态的容器。可以在docker container start命令中指定容器的名称或者ID。
docker container rm会删除停止运行的容器。可以通过容器名称或者ID来指定要删除的容器。推荐首先使用docker container stop命令停止容器,然后使用docker container rm来完成删除。
docker container inspect命令会显示容器的配置细节和运行时信息。该命令接收容器名称和容器ID作为主要参数。

おすすめ

転載: www.cnblogs.com/jiliguo/p/11966791.html