【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的区别列表
每个人的优点和选择的要点
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:
执行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
最後
非常感谢您一直以来对我的陪伴。
虽然我觉得大体上已经能够输出了,但我还在不断学习中
接下来会通过实际使用来熟悉并加深理解!
如果有错误之处,请毫不犹豫地指出,我将不胜感激?♂️
参考文献