検索
ホームページ運用・保守DockerDocker の基本構成ファイル構造とインストール ツール (詳細な例)

この記事では、compose ファイル構造や docker compose ツールのインストールに関する知識など、docker での compose に関する知識を提供します。

Docker の基本構成ファイル構造とインストール ツール (詳細な例)

docker compose とは何ですか?

Docker compose は、さまざまなコンテナーで実行されているさまざまなサーバーをオーケストレーションして統合するコンテナー オーケストレーション機能です。

は、ほとんどのコンテナを均一に管理するために使用できます。ネットワーク、ポート、マウントなどが含まれますが、これらに限定されません。コンテナのクラスタリングを実装するために使用できます。Compose は、関連する一連の操作を実装するためにも使用できます。オペレーションはコンテナを管理する機能です

1. compose ファイル構造

1. yml ファイル

compose におけるファイル構造は、通常、次の構造を指します。 yml ファイル. では、yml ファイルとは何でしょうか?

yml ファイルは、キーと値のペア形式のファイルです。

yml ファイルは形式に非常に敏感です。次の点に注意する必要があります:

  1. スペースのインデントのみを認識し、タブのインデント形式は認識しません。 key
  2. 通常、
  3. 文字の先頭で 2 つのスペースをインデントし、その後、コロン、カンマ、水平バー、その他の文字を含む (ただしこれらに限定されない) 1 つのスペースをインデントします。文字はスペース 1 つでインデントする必要があります。
  4. コメントに # の使用をサポートします。
  5. 特殊文字が含まれる場合は、一重引用符で囲む必要があります。
  6. ブール値引用符で囲む必要があります

例:

  house:
    family:
      name: Doe
      parents: 
        - John
        - Jane
      children: 
        - Paul
        - Mark
        - Simone
    address: 
      number: 34
      street: Main Street
      city: Nowheretown
      zipcode: 1234

yml ファイル形式 たとえば、上記では 1 レベルの対応が必要で、異なるレベルの間には 2 つのスペースがあります。

注: キーに 1 つのレベルで複数の値がある場合は、次のレベルで使用できます。また、短い水平バーで始まり、いくつかの終わりの水平バーを書く 2 つの空のスペースもあります。

2. Compose 設定で一般的に使用されるフィールド

#フィールド説明build dockerfile centtextDockerfile ファイル名を指定してイメージ コンテキストのパスを構築しますimages指定しますイメージcommandデフォルトのコマンドを上書きしてコマンドを実行します#コンテナ名指定しますコンテナ名は一意であるため、コンテナ名。カスタム名を指定した場合、スケールを作成することはできませんdeployデプロイメントおよび実行サービスに関連する構成を指定します。また、Swarm モードでのみ使用できます環境環境変数の追加ネットワークネットワークに参加ports -p と同じようにコンテナ ポートを公開しますが、ポート番号は 60 より大きい必要がありますvolumtsホスト パスまたはコマンド ボリュームrestart再起動戦略、デフォルトはいいえ、常に、障害時、停止しない限りhostnameコンテナホスト名

build: ミラー構築時の定義方法

dockerfile: dockerfile を使用して構築されるメソッド

context: サービス docerfile ファイルのパス

images:使用するイメージ名、例: イメージ: イメージ名、注意: 後ろにスペースがあります

コマンド: ステートメントを実行します

コンテナ名: コンテナーの名前は一意であるため、コンテナーの名前を指定するために使用されます。カスタム名を指定すると、スケーリング (レプリカ セットの設定) はできません

#レプリカ セット: イメージを複数のコンテナーに作成します。これらの複数のコンテナーの実行環境などはまったく同じです。コンテナ アーキテクチャ内のコンテナが停止した場合、同一のコンテナを直接起動してレプリカ セットの数を維持できる、これがレプリカ セットの概念であり、K8s の核心でもあります。マイクロサービスの速度を向上させ、災害復旧を改善し、高い同時実行パフォーマンスを実現できます。

deploy: これはコントローラーであり、k8s ではレプリカ セットを制御および管理するプラグインです。

restart: 再起動戦略。デフォルトではシャットダウン後に起動しません。常に起動すると、手動シャットダウンか非手動シャットダウンかに関係なく、閉じたコンテナが自動的に起動します。クローズされたステータスのみをプルします。コンテナは、失敗時にゼロ以外のリターン コードを持つコンテナのみを起動します。

3. Compose の外部共通コマンド

フィールド説明buildpsupexec##scaleレプリカセットの数に相当するサーバーの起動数を指定しますtopコンテナ プロセス、docker compose によって制御されるプロセスによって開始されたすべてのコンテナを表示しますログ表示コンテナの出力情報downコンテナ、ネットワーク、データボリューム、イメージの削除stop/start/ restartstop /コンテナ サービスの開始/再起動

docker compose基本使用格式:docker-compose [options] [COMMAND] [ARGS…]

docker-compose选项

  1. –verbose:输出更多调试信息
  2. –version:打印版本并退出
  3. -f /–file FILE:使用特定的compose模板文件,默认为docker-compose.yml
  4. -p /–project-name NAME:指定项目名称,默认使用目录名称

二、安装docker compose工具

1、下载

curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

首次连接下载的时候,可能会提示失误或者连接不上,可能是因为网络原因,可以多试几次

2、添加权限

文件在刚下载之后,默认是没有执行权限的,所以需要手动添加执行权限

chmod +x /usr/local/bin/docker-compos

3、运行docker-compose

docker-compose

可以看到,现在已经正常执行了

三、编译镜像

手动创建下面的文件(dockerfile文件之前有的话,直接拉取过来也是可以的)

tree
.
├── docker-compose.yml
├── nginx
│   ├── Dockerfile
│   ├── nginx-1.12.0.tar.gz
└── wwwroot
    └── index.html

其中yml文件内部

cat docker-compose.yml

version: '3'
services:
  nginx:
    hostname: nginx
    build:
      context: ./nginx
      dockerfile: Dockerfile
    ports:
      - 1321:80
      - 1707:443
    networks:
      - cluster
    volumes:
      - ./wwwroot: /usr/local/nginx/html
networks:
  cluster:

nginx的dockerfile文件

cat ./nginx/Dockerfile

FROM centos:7
ADD nginx-1.12.0.tar.gz /tmp
RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make &> /dev/null \
    && useradd -M -s /sbin/nologin nginx \
    && cd /tmp/nginx-1.12.0/ \
    && ./configure \
    --prefix=/usr/local/nginx \
    --user=nginx \
    --group=nginx \
    --with-http_stub_status_module &> /dev/null \
    && make &> /dev/null \
    && make install &> /dev/null
VOLUME ["/usr/local/nginx/html"]
EXPOSE 80
CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]

index.html文件中就是自己配置的网页信息,就不多做介绍了

确定之后,编译

docker-compose -f docker-compose.yml up -d

查看运行结果

docker ps -a

CONTAINER ID   IMAGE                 COMMAND                  CREATED              STATUS                      PORTS                                                                        NAMES
da38007f09ab   dockercompose_nginx   "/usr/local/nginx/sb…"   About a minute ago   Up About a minute           0.0.0.0:666->80/tcp, :::666->80/tcp, 0.0.0.0:667->443/tcp, :::667->443/tcp   dockercompose_nginx_1
#可以看到,这个端口信息就是我们在yml文件中设置的端口信息,直接在这个生效了

docker images

REPOSITORY                TAG       IMAGE ID       CREATED         SIZE
dockercompose_nginx       latest    b1e4b9dfa72d   3 minutes ago   478MB

访问网址端口,查看该网站页面

curl 192.168.75.51:666
hello
#显示结果
cat ./wwwroot/index.html
hello

推荐学习:《docker视频教程

イメージ情報の再構築
現在 docker compose によって制御されているコンテナを一覧表示します
コンテナを作成して開始します
コンテナ内でコマンドを実行します

以上がDocker の基本構成ファイル構造とインストール ツール (詳細な例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はCSDNで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
LinuxとDocker:さまざまなLinux分布のDockerLinuxとDocker:さまざまなLinux分布のDockerApr 19, 2025 am 12:10 AM

Ubuntu、Centos、およびDebianにDockerをインストールして使用する方法は異なります。 1)ubuntu:aptパッケージマネージャーを使用します。コマンドはsudoapt-getupdate && sudoapt-getinstalldocker.ioです。 2)Centos:Yum Package Managerを使用すると、Dockerリポジトリを追加する必要があります。コマンドは、sudoyumininstall-yyum-utils && sudoyum-config-manager - add-repohttps://download.docker.com/linです

Mastering Docker:Linuxユーザー向けガイドMastering Docker:Linuxユーザー向けガイドApr 18, 2025 am 12:08 AM

LinuxでDockerを使用すると、開発効率が向上し、アプリケーションの展開を簡素化できます。 1)Ubuntu画像を引く:dockerpullubuntu。 2)ubuntuコンテナを実行:Dockerrun-itubuntu/bin/bash。 3)nginxを含むDockerFileを作成します:fromubuntu; runapt-getupdate && apt-getinstall-ynginx; expose80。 4)画像の作成:dockerbuild-tmy-nginx。 5)コンテナの実行:Dockerrun-D-P8080:80

LinuxのDocker:アプリケーションとユースケースLinuxのDocker:アプリケーションとユースケースApr 17, 2025 am 12:10 AM

Dockerは、Linuxのアプリケーションの展開と管理を簡素化します。 1)Dockerは、アプリケーションとその依存関係を軽量でポータブルコンテナにパッケージ化するコンテナ化されたプラットフォームです。 2)Linuxでは、DockerはCgroupと名前空間を使用して、コンテナの分離とリソース管理を実装します。 3)基本的な使用には、画像の引き込みと実行容器が含まれます。 DockerComposeなどの高度な使用は、マルチコンテナーアプリケーションを定義できます。 4)一般的に使用されるDockerLogsとDockerexecコマンドをデバッグします。 5)パフォーマンスの最適化は、マルチステージの構造により画像サイズを縮小することができ、DockerFileをシンプルに保つことがベストプラクティスです。

Docker:移植性とスケーラビリティのためのコンテナ化アプリケーションDocker:移植性とスケーラビリティのためのコンテナ化アプリケーションApr 16, 2025 am 12:09 AM

Dockerは、アプリケーションのパッケージ化、配布、およびアプリケーションの携帯性とスケーラビリティを改善するために使用されるLinuxコンテナテクノロジーベースのツールです。 1)DockerBuildおよびDockerrunコマンドを使用して、Dockerコンテナを構築および実行できます。 2)DockerComposeを使用して、マルチコンテナーDockerアプリケーションを定義および実行して、マイクロサービス管理を簡素化します。 3)マルチステージの構造を使用すると、画像サイズを最適化し、アプリケーションの起動速度を向上させることができます。 4)コンテナログの表示は、コンテナの問題をデバッグする効果的な方法です。

Dockerによってコンテナを起動する方法Dockerによってコンテナを起動する方法Apr 15, 2025 pm 12:27 PM

Docker Containerの起動手順:コンテナ画像を引く:「Docker Pull [Mirror Name]」を実行します。コンテナの作成:「docker create [options] [mirror name] [コマンドとパラメーター]」を使用します。コンテナを起動します:「docker start [container name or id]」を実行します。コンテナのステータスを確認してください:コンテナが「Docker PS」で実行されていることを確認します。

Dockerからログを表示する方法Dockerからログを表示する方法Apr 15, 2025 pm 12:24 PM

Dockerログを表示する方法は次のとおりです。たとえば、Docker Logsコマンドを使用します。たとえば、Docker logs container_name docker execコマンドを使用して /bin /shを実行し、logファイルを表示します。 cat /var/log/container_name.log docker-compose -f docker-comのDocker ComposeのDocker-Composeログを使用します。

Dockerコンテナの名前を確認する方法Dockerコンテナの名前を確認する方法Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Docker用のコンテナを作成する方法Docker用のコンテナを作成する方法Apr 15, 2025 pm 12:18 PM

Dockerでコンテナを作成します。1。画像を引く:Docker Pull [ミラー名]2。コンテナを作成:Docker Run [Options] [Mirror Name] [コマンド]3。コンテナを起動:Docker Start [Container Name]

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール