ホームページ >運用・保守 >Linuxの運用と保守 >Docker を使用して Linux 上でコンテナの迅速な移行とリモート管理を実現するにはどうすればよいですか?
Docker を使用して Linux 上でコンテナの迅速な移行とリモート管理を実現するにはどうすればよいですか?
概要
Docker は、アプリケーションの迅速な導入と管理を可能にする、一般的に使用されるコンテナ化テクノロジです。 Linux 環境では、Docker のインストールと使用は比較的簡単で、コマンド ラインまたはビジュアル ツールを通じて操作できます。この記事では、Docker を使用して Linux 上でコンテナの迅速な移行とリモート管理を実装する方法を紹介し、対応するコード例を示します。
Docker のインストールと構成
まず、Linux システムに Docker をインストールする必要があります。ほとんどの Linux ディストリビューションでは、apt、yum、dnf などのパッケージ マネージャーを通じてインストールできます。以下は、Ubuntu システムに Docker をインストールするコマンドの例です:
$ sudo apt-get update $ sudo apt-get install docker.io
インストールが完了したら、次のコマンドを使用して、Docker が正常にインストールされたかどうかを確認できます:
$ docker version
次に、リモート アクセス Docker ユーザー グループを作成する必要があります。手動でグループを作成し、既存のユーザーをそのグループに追加できます。次に、ユーザー グループの変更を有効にするために再度ログインする必要があります:
$ sudo groupadd docker $ sudo usermod -aG docker $USER $ newgrp docker
最後に、変更を有効にするために Docker サービスを再起動する必要があります:
$ sudo systemctl restart docker
まず、コンテナの現在のステータスをソース ホスト上の画像として保存します。
$ docker commit <container_id> <image_name>
ここで、a3f94dbaba3a4609eaf634c1155b4c45
は実行されているコンテナです。ソース ホスト 識別子 ce03ab434069df82ad6c460dc73e6e7f
は、新しいイメージの名前です。
次に、画像をファイルにエクスポートします。
$ docker save <image_name> -o <output_file>
ここで、 ce03ab434069df82ad6c460dc73e6e7f
はエクスポートする画像の名前です。 6dd072d09629ee5abd86301fae8f60c4
は、インポートされたイメージ ファイルのパスです。
最後に、インポートしたイメージを実行します。
$ docker run -d <image_name>
まず、Docker サービスの構成ファイルでリモート API を有効にする必要があります。 /lib/systemd/system/docker.service
ファイルを編集し、ExecStart 行を次のように変更します:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
次に、Docker サービスをリロードして再起動します:
$ sudo systemctl daemon-reload $ sudo systemctl restart docker
次に、curl コマンドを使用して HTTP リクエストを送信し、Docker のリモート管理を実現します。一般的に使用されるcurlコマンドの例を次に示します:
Dockerサービスのバージョン情報を取得します:
$ curl http://localhost:2375/version
すべてのコンテナをリストします:
$ curl http://localhost:2375/containers/json
コンテナの開始:
$ curl -X POST http://localhost:2375/containers/create?name=<container_name> -d '{"Image":"<image_name>"}' $ curl -X POST http://localhost:2375/containers/<container_id>/start
コンテナの停止:
$ curl -X POST http://localhost:2375/containers/<container_id>/stop
コンテナの削除:
$ curl -X DELETE http://localhost:2375/containers/<container_id>
curl コマンドに加えて、プログラミング言語を使用して Docker のリモート管理を実現することもできます。以下は、Python を使用したサンプル コードです。
import requests url = "http://localhost:2375/containers/json" response = requests.get(url) containers = response.json() for container in containers: print(container["Names"][0])
このコードは、すべてのコンテナーの名前をリストします。
概要
Docker を介して Linux 上でコンテナの迅速な移行とリモート管理を実装すると、開発担当者、運用保守担当者の作業が大幅に簡素化されます。コンテナーは、いくつかの簡単な手順で簡単に移行し、リモート管理できます。この記事で提供されているコード例がお役に立てば幸いです。ご質問やご不明な点がございましたら、お気軽にお問い合わせください。
以上がDocker を使用して Linux 上でコンテナの迅速な移行とリモート管理を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。