ホームページ > 運用・保守 > Docker > Dockerのコンテナ内でサービスを開始する方法

Dockerのコンテナ内でサービスを開始する方法

PHPz
リリース: 2023-05-16 21:17:06
オリジナル
1860 人が閲覧しました

コンテナ化テクノロジの人気が高まるにつれ、Docker はコンテナ化テクノロジの代表的な存在になりました。 Docker はそのシンプルさと使いやすさにより、コンテナ化テクノロジーの主流のツールとなっています。しかし初心者にとってはコンテナ内でサービスをどうやって起動するかが難しいポイントかもしれません。この記事では、Docker がコンテナ内でサービスを開始する方法を紹介します。

docker のインストール

まず、Docker をローカルにインストールする必要があります。 Docker の具体的なインストール方法については、公式ドキュメントやその他の関連情報を参照してください。インストールが完了したら、docker コマンドを使用して、Docker が正しくインストールされているかどうかを確認できます。次のコマンドを実行して、Docker のバージョンを確認できます。

docker version
ログイン後にコピー

コンテナを開く

Docker がインストールされたら、Docker でコンテナを起動する必要があります。 Docker のコンテナとは、完全なアプリケーションを実行するために必要なすべてのコンポーネントとライブラリを指します。 Docker Hub からイメージをダウンロードしてコンテナーを起動することも、自分でイメージを作成することもできます。鏡の製作についてはここでは詳しく触れません。ここでは、myimage という名前のイメージがすでに存在すると仮定します。

コンテナを開始するコマンド構文は次のとおりです:

docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
ログイン後にコピー
  • OPTIONS: オプションのパラメータ リスト。
  • IMAGE[:TAG|@DIGEST]: 開始するイメージまたはバージョン番号。
  • COMMAND: コンテナーが実行する必要があるコマンド。
  • ARG...: コマンドのパラメータ。

より一般的に使用されるオプションは次のとおりです:

  • -p port:port: コンテナとホスト間のポート マッピングのルールを指定します。
  • -d: バックグラウンド モードで実行されていることを示します。
  • -v host:container: mount コマンドを使用して、ホスト ディレクトリとコンテナ ディレクトリ間のデータ共有を実現します。
  • --name name: コンテナ名を指定します。

次のコマンドでコンテナを起動します:

docker run --name mycontainer -d -p 8080:80 myimage
ログイン後にコピー

上記のコマンドでは、myimage イメージをテンプレートとして使用して、mycontainer という名前のバックグラウンド コンテナを起動します。コンテナ内の 80 ポートをローカル ポート 8080 にマップします。

コンテナのステータスの表示

コンテナを起動したら、コンテナのステータスを確認する必要があります。次のコマンドでコンテナーのステータスを確認できます:

docker ps
ログイン後にコピー

上記のコマンドを実行すると、次のような結果が得られます:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
b318194bdaf2        myimage             "nginx -g 'daemon of…"   About an hour ago   Up About an hour    0.0.0.0:8080->80/tcp   mycontainer
ログイン後にコピー

この出力から、コンテナー ID を確認できます。コンテナーによって実行されるコマンドやマップされたポートなどの情報。開始したばかりのコンテナーが表示されない場合は、docker ps -a コマンドを使用して、すべてのコンテナーのステータスを表示できます。

コンテナに入る

コンテナ内で操作する必要がある場合は、次のコマンドを使用してコンテナに入ることができます:

docker exec -it <容器ID或名称> <命令>
ログイン後にコピー

たとえば、次のコマンドは、 mycontainer コンテナ内の bash ターミナル:

docker exec -it mycontainer bash
ログイン後にコピー

このコマンドの -it オプションは、対話型の tty ターミナルを開いて、コンテナ内の bash シェルにコマンドを実行させる必要があることを示します。

コンテナ内でのサービス操作

上記の手順でDockerコンテナが起動し、コンテナに入ることができたので、次にコンテナ内でサービスを起動する必要があります。

Web サービス (nginx、Apache)、データベース サービス (MySQL、PostgreSQL など) などの一般的なサービスの場合、次のコマンドを使用してこれらのサービスを開始できます。次のコマンドも使用します。サービスを手動で開始するコマンド:

# 启动nginx服务
docker exec -it mycontainer service nginx start

# 启动MySQL服务
docker exec -it mycontainer service mysql start
ログイン後にコピー

ここで、

を開始する必要があるサービスの名前に置き換え、<command&gt ; 必要な実行コマンドを指定します。 概要

上記はDockerでコンテナの内部サービスを開く方法です。まず、Docker環境でDockerツールをインストールしてコンテナを起動し、コンテナに入った後、コマンドを実行することでコンテナ内のサービスを起動できます。 Docker は、コンテナ化テクノロジーに優れた柔軟性と拡張性をもたらします。上記のスキルを習得することで、コンテナ化技術をさらに一歩進めることができると思います。

以上がDockerのコンテナ内でサービスを開始する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート