English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
docker クライアントは非常にシンプルで、docker コマンドを直接入力することで、Docker クライアントのすべてのコマンドオプションを確認できます。
w3codebox@w3codebox:~# docker
以下のコマンドを使用して: docker command --help 指定された Docker コマンドの使用方法についてさらに詳しく学びたい場合は。
例えば、以下のように確認できます: docker stats コマンドの具体的な使用方法:
w3codebox@w3codebox:~# docker stats --help
ローカルに 'ubuntu' イメージがない場合、docker pull コマンドを使用してイメージをインポートできます:
$ docker pull ubuntu
以下のコマンドは、'ubuntu' イメージを使用してコンテナを起動し、コマンドラインモードでコンテナに入るパラメータを指定します:
$ docker run -it ubuntu /bin/bash
パラメータの説明:
-i: インタラクティブ操作。
-t: ターミナル。
ubuntu: ubuntu イメージ。
/bin/bash:イメージ名の後に置かれるのはコマンドです。ここでは、インタラクティブなシェルを希望しているため、以下のように使用しています: /bin/bash。
ターミナルを退出するには、直接以下のように入力します: exit:
root@ed09e4490c57:/# exit
すべてのコンテナを確認するコマンドは以下の通りです:
$ docker ps -a
画像をクリックして拡大表示:
docker start コマンドを使用して停止しているコンテナを起動します:
$ docker start b750bbbcfd88
多くのシーンでは、dockerのサービスがバックグラウンドで実行されることを希望します。そのためには、以下のように設定します: -d はコンテナの実行モードを指定します。
$ docker run -itd --name ubuntu-test ubuntu /bin/bash
画像をクリックして拡大表示:
注:加えられた -d パラメータはデフォルトでコンテナに入りません。コンテナに入りたい場合は、以下のコマンドを使用します: docker exec(以下に説明します)。
コンテナを停止するコマンドは以下の通りです:
$ docker stop <コンテナ ID>
停止しているコンテナを docker restart コマンドで再起動できます:
$ docker restart <コンテナ ID>
使用する際に -d パラメータが指定された場合、コンテナが起動するとバックグラウンドに移動します。この時、コンテナに入りたい場合は以下のコマンドを使用します:
docker attach
docker exec:皆さんに docker exec コマンドを使用することをお勧めします。なぜなら、このコマンドでコンテナのターミナルが終了してもコンテナ自体が停止しないからです。
attachコマンド
以下はdocker attachコマンドの使用例を示しています。
$ docker attach 1e560fca3906
注意: このコンテナから退出すると、コンテナが停止します。
execコマンド
以下はdocker execコマンドの使用例を示しています。
docker exec -it 243c32535da7 /bin/bash
注意: このコンテナから退出すると、コンテナは停止しません。これが、docker execを使用することを推奨する理由です。 docker exec の理由です。
詳細なパラメータ説明については、docker execを使用してください。 --helpコマンドで確認してください。
コンテナをエクスポートする
ローカルのコンテナをエクスポートする場合は、 docker export コマンド。
$ docker export 1e560fca3906 > ubuntu.tar
コンテナをエクスポートする 1e560fca3906 スナップショットをローカルファイルに保存 ubuntu.tar。
これにより、コンテナスナップショットをローカルファイルにエクスポートします。
コンテナスナップショットのインポート
docker importを使用して、コンテナのスナップショットファイルからイメージに再インポートすることができます。以下の例では、スナップショットファイルubuntu.tarをイメージtestにインポートします。/ubuntu:v1:
$ cat docker/ubuntu.tar | docker import - test/ubuntu:v1
また、URLや特定のディレクトリを指定してインポートすることもできます。例えば:
$ docker import http://example.com/exampleimage.tgz example/imagerepo
コンテナを削除するために使用 docker rm コマンド:
$ docker rm -f 1e560fca3906
以下のコマンドは、終了状態のすべてのコンテナをクリーンアップします。
$ docker container prune
前に実行したコンテナには特に役立つものはありませんでした。
次に、dockerを使用してwebアプリケーションを構築しようと試みましょう。
Python Flaskアプリケーションをwebアプリケーションとして実行するdockerコンテナ内で実行します。
w3codebox@w3codebox:~# docker pull training/webapp # イメージをロード w3codebox@w3codebox:~# docker run -d -P training/000 training
パラメータ説明:
-d:コンテナをバックグラウンドで実行します。
-P:コンテナ内で使用するネットワークポートをランダムにホスト上にマッピングします。
使用 docker ps 来查看我们正在运行的容器:
w3codebox@w3実行中のコンテナを確認 CONTAINER ID IMAGE COMMAND ... PORTS d3d5e39codebox:~# docker ps9d3 training/使用 docker ps で実行中のコンテナを確認します:32769->5000/codebox:~$ docker port wizardly_chandrasekhar
CONTAINER ID IMAGE COMMAND ... PORTS
webapp "python app.py" ... 0.0.0.0: Running on http:32769->5000/codebox:~$ docker port wizardly_chandrasekhar
ここにポート情報が追加されました。 5PORTS 32769 DockerはPORTSをオープンしました。
000 端口(デフォルトのPython Flaskポート)がホストポートにマッピングされています。
上。 -この時、ブラウザでWEBアプリケーションにアクセスできます。
w3codebox@w3p パラメータを使用して異なるポートを設定できます: -d -codebox:~$ docker run 5p5000:/000 training
docker pswebapp python app.py
w3codebox@w3実行中のコンテナを確認 CONTAINER ID IMAGE PORTS NAMES bf08b7f2cd89 training/webapp ... 0.0.0.0:5000->5000/tcp wizardly_chandrasekhar d3d5e39codebox:~# docker ps9d3 training/webapp ... 0.0.0.0:32769->5000/ed
tcp xenodochial_hoov 5コンテナ内の 5000 端口が当てはまるローカルホストマシン
ネットワークポートのショートカット docker ps を通じてコマンドを使用して、コンテナのポートマッピングを確認できます。 docker を使用して別のショートカットも提供されています を使用して docker port
指定された(IDまたは名前)のコンテナの特定のポートがホストマシンのポートにマッピングされていることを確認できます。 bf08b7f2cd89 上で作成したWEBアプリケーションコンテナのIDは wizardly_chandrasekhar名前が
。8b7f2cd89 私は docker port bf0を使用できます。
w3codebox@w3または docker port wizardly_chandrasekhar でコンテナのポートのマッピング状況を確認できます。8b7f2cd89 5000/codebox:~$ docker port wizardly_chandrasekhar -tcp5000
w3codebox@w3codebox:~$ docker port bf0 5000/codebox:~$ docker port wizardly_chandrasekhar -tcp5000
WEBアプリケーションのログを確認
w3codebox@w3docker logs [IDまたは名前] でコンテナ内の標準出力を確認できます。 -codebox:~$ docker logs8b7f2cd89 * f bf0//Running on http:5000/ 0.0.0.0:+(Press CTRL 192.168.239.1 - - 009/[0/2016 16:3May370: / C to quit)/1.1favicon.ico HTTP 2HTTP - 192.168.239.1 - - 009/[0/2016 16:3May370: /] "GET/1.1favicon.ico HTTP 404 -
-" f: docker logs docker logsのように使用 tail -f 同様にコンテナ内の標準出力を出力します。
上から見ると、アプリケーションが使用しているのは 5000 ポートでアプリケーションのアクセスログを確認できます。
さらに docker top を使用して、コンテナ内で実行されているプロセスを確認できます。
w3codebox@w3codebox:~$ docker top wizardly_chandrasekhar UID PID PPID ... TIME CMD root 23245 23228 ... 00:00:00 python app.py
を使用して docker inspect を参照して Docker のベース情報を確認します。それは Docker コンテナの設定と状態情報を記録する JSON ファイルを返します。
w3codebox@w3codebox:~$ docker inspect wizardly_chandrasekhar [ { "Id": "bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85, "Created": "2018-09-17T01:41:26.174228707Z", "Path": "python", "Args": [ "app.py" ], "State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 23245, "ExitCode": 0, "Error": "", "StartedAt": "2018-09-17T01:41:26.494185806Z", "FinishedAt": "0001-01-01T00:00:00Z" } ......
w3codebox@w3codebox:~$ docker stop wizardly_chandrasekhar wizardly_chandrasekhar
停止されているコンテナは、コマンド docker start を使用して起動できます。
w3codebox@w3codebox:~$ docker start wizardly_chandrasekhar wizardly_chandrasekhar
docker ps -l クエリ最後に作成されたコンテナ:
# docker ps -l CONTAINER ID IMAGE PORTS NAMES bf08b7f2cd89 training/webapp ... 0.0.0.0:5000->5000/tcp wizardly_chandrasekhar
実行中のコンテナは、docker restart コマンドを使用して再起動できます。
不要なコンテナを削除するために、docker rm コマンドを使用できます
w3codebox@w3codebox:~$ docker rm wizardly_chandrasekhar wizardly_chandrasekhar
コンテナを削除する際には、コンテナが停止状態でなければなりません。そうでないと以下のようなエラーが発生します
w3codebox@w3codebox:~$ docker rm wizardly_chandrasekhar デーモンからのエラーレスポンス:実行中のコンテナbf0を削除することはできません8b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85. コンテナを削除または強制的に削除する前に、コンテナを停止してください