コンテナ化テクノロジの人気が高まるにつれ、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> ;
必要な実行コマンドを指定します。 概要
上記はDockerでコンテナの内部サービスを開く方法です。まず、Docker環境でDockerツールをインストールしてコンテナを起動し、コンテナに入った後、コマンドを実行することでコンテナ内のサービスを起動できます。 Docker は、コンテナ化テクノロジーに優れた柔軟性と拡張性をもたらします。上記のスキルを習得することで、コンテナ化技術をさらに一歩進めることができると思います。
以上がDockerのコンテナ内でサービスを開始する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。