【Docker Compose】现在不听也来得及了解一下,docker-compose.yml的书写方式和工作原理

首先

你好,我是嶋田,一名工作第二年的工程师。首先,非常感谢您打开这篇文章!

前几天,在前辈的教导下,我在进行环境构建时,了解到了yml文件的作用。
我希望能更加深入地理解,所以我决定在这里输出我所学到的东西。

因此!
本次主要介绍使用Docker compose创建docker-compose.yml文件来使用多个容器的使用方法和机制。
请务必一直关注到最后!

内容

    • DockerとDocker Composeの違い

 

    • Dockerfileとdocker-compose.ymlファイルの違い

 

    • Docker-compose.ymlファイルの基本構造

 

    • Docker Composeの実行

 

    最後に

Docker和Docker Compose之间的区别。

Docker和Docker Compose是用于使用容器化技术的工具,它们分别担任不同的角色和用途。在这个部分,我们将详细说明Docker和Docker Compose的基本角色和用途,同时提出它们之间的区别和各自的优点。

Docker的作用和用途

Docker是用于创建、管理和运行各个容器的工具。以下是Docker的主要角色和用途。

コンテナの作成: Dockerはイメージからコンテナを作成し、アプリケーションやサービスを隔離された環境で実行するのに役立ちます。

コンテナの管理: Dockerはコンテナのライフサイクルを管理し、コンテナの起動、停止、削除などの操作を提供します。

イメージの管理: Dockerはアプリケーションの実行に必要なイメージを作成し、保存、共有するための仕組みを提供します。

Docker Compose的角色和用途

Docker Compose是一种用于协同执行多个容器的工具,专注于Docker容器的编排。以下是Docker Compose的主要功能和用途。

マルチコンテナアプリケーションの定義: Docker Composeは複数のコンテナを1つのアプリケーションとしてまとめ、関連するコンテナを協調して実行できるようにします。

複数コンテナの連携: Docker Composeは異なるコンテナ間で通信を確立し、データや情報を共有するための機能を提供します。

シンプルな環境設定: Docker Composeは環境変数やボリュームなどの設定を1つのYAMLファイルにまとめ、管理しやすくします。

Docker和Docker Compose的区别列表

項目DockerDocker Composeコンテナの単位単一コンテナマルチコンテナ管理単位個別管理グループ管理環境設定の複雑さコンテナごとに環境設定を行うYAMLファイルに設定をまとめて簡略化

每个人的优点和选择的要点

Docker的优势:

    • 個々のコンテナの管理が必要な場合

 

    • シングルコンテナのアプリケーションを実行する場合

 

    イメージのビルドと保存が中心の場合

Docker Compose的好处:

    • 複数のコンテナを協調して実行する必要がある場合

 

    • 関連するコンテナをグループ化して管理したい場合

 

    マルチコンテナアプリケーションの簡単な設定と管理が必要な場合

Dockerfile和docker-compose.yml文件的区别

Dockerfile的作用是什么?

Dockerfile的主要作用是构建Docker镜像。以下详细解释了Dockerfile的作用。

イメージの構築: DockerfileはDockerイメージを構築するための指示書です。このファイルには、ベースとなるDockerイメージの指定や、パッケージのインストール、設定ファイルの追加など、イメージの構築手順が記述されます。

アプリケーションの設定: Dockerfileはアプリケーションの設定を含めるために使用されます。これには環境変数の設定、ボリュームのマウント、ポートの公開などが含まれます。

イメージのビルド: DockerfileからDockerイメージをビルドするためには、docker buildコマンドを使用します。これにより、Dockerfileで指定された手順に従ってイメージが作成されます。このイメージはコンテナではなく、イメージ自体を表します。

docker-compose.yml 的作用是什么?

docker-compose.yml文件是一种用于协调管理多个Docker容器的配置文件。下面详细说明了docker-compose.yml文件的作用。

マルチコンテナアプリケーションの定義: docker-compose.ymlファイルは複数のDockerコンテナを1つのアプリケーションとしてまとめ、コンテナ間の依存関係や設定を定義します。

複数コンテナの管理: docker-compose.ymlファイルにより、複数のコンテナを一括で管理できます。コンテナのビルド、起動、停止、削除などの操作を簡単に行えます。

設定の統合: docker-compose.ymlファイルには、各コンテナの設定情報(例: イメージ、ポート、ボリュームなど)が含まれており、複数のコンテナ間で設定を統合管理できます。

docker-compose.yml文件可以使用docker-compose命令来批量操作多个容器,并且可以轻松地构建镜像和创建容器。通过这种方式,可以轻松地构建和管理复杂的多容器环境。

Docker-compose.yml文件的基本结构

让我们通过示例来理解如何编写Docker-compose.yml文件的方式的以下项目!!

version: '3' # (1)

services: # (2)
  web:
    image: nginx:alpine # (3)
    container_name: laravel-web # (4)
    volumes: # (5)
      - ./laravel:/var/www/html
    ports: # (6)
      - "8080:80"
    depends_on: # (7)
      - app
    networks: # (8)
      - laravel

  app:
    image: composer:latest
    container_name: laravel-app
    volumes:
      - ./laravel:/var/www/html
    working_dir: /var/www/html # (9)
    command: ["composer", "install"] # (10)
    networks:
      - laravel

  db:
    image: mysql:5.7
    container_name: laravel-db
    environment: # (11)
      MYSQL_ROOT_PASSWORD: root_password
      MYSQL_DATABASE: laravel_db
      MYSQL_USER: laravel_user
      MYSQL_PASSWORD: laravel_password
    volumes:
      - laravel-db-data:/var/lib/mysql
    networks:
      - laravel

networks: # (12)
  laravel:
    driver: bridge

volumes: # (13)
  laravel-db-data:
番号 設定項目説明(1)versionDocker Composeファイルのバージョン指定。ここではバージョン3を使用しています。(2)servicesサービス(コンテナ)の定義セクション。(3)imageDockerイメージを指定して、コンテナを作成します。(4)container_nameコンテナの名前を指定し、一意に識別します。(5)volumesコンテナとホストマシンのディレクトリを関連付け、データを共有します。(6)portsホストマシンのポートとコンテナのポートをマッピングして、外部からアクセス可能にします。(7)depends_onサービス間の依存関係を定義し、Docker Composeが依存関係を管理します。(8)networksサービスが所属するネットワークを指定します。(9)working_dirコンテナ内の作業ディレクトリを指定します。(10)commandコンテナが起動したときに実行するコマンドを指定します。(11)environmentコンテナ内で使用される環境変数を設定します。(12)networksネットワークの設定セクションで、ネットワーク「laravel」の設定が行われています。(13)volumesボリュームの設定セクションで、ボリューム「laravel-db-data」の設定が行われています。

执行Docker Compose。

下面将介绍经常在使用Docker Compose操作容器的命令。

(1)启动 – 创建并启动容器

$ docker-compose up

(2)ps -显示容器列表

$ docker-compose ps

(3) 日志-显示日志

$ docker-compose logs [サービス名]

(4)运行- 容器创建后,执行命令

$ docker-compose run [サービス名] [コマンド]

(5)执行 – 执行命令

$ docker-compose exec [サービス名] [コマンド]

(6) 关闭 – 停止容器

docker-compose down

最後

非常感谢您一直以来对我的陪伴。
虽然我觉得大体上已经能够输出了,但我还在不断学习中
接下来会通过实际使用来熟悉并加深理解!
如果有错误之处,请毫不犹豫地指出,我将不胜感激?‍♂️

参考文献

 

广告
将在 10 秒后关闭
bannerAds