目次
1. compose ファイル構造
1. yml ファイル
2. Compose 設定で一般的に使用されるフィールド
二、安装docker compose工具
1、下载
2、添加权限
3、运行docker-compose
三、编译镜像
ホームページ 運用・保守 Docker Docker の基本構成ファイル構造とインストール ツール (詳細な例)

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

Feb 07, 2022 pm 05:39 PM
docker

この記事では、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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

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

Dockerコンテナを終了する4つの方法:コンテナ端子でCtrl Dを使用するコンテナターミナルに出口コマンドを入力しますDocker stop< container_name>コマンドを使用するDocker Kill< container_name>ホストターミナルのコマンド(フォース出口)

Dockerのファイルを外部にコピーする方法 Dockerのファイルを外部にコピーする方法 Apr 15, 2025 pm 12:12 PM

Dockerの外部ホストにファイルをコピーする方法:Docker CPコマンドを使用:Docker CP [Options]< Container Path> <ホストパス>。データボリュームの使用:ホストにディレクトリを作成し、-vパラメーターを使用してコンテナを作成するときにディレクトリをコンテナにマウントして、双方向ファイルの同期を実現します。

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:06 PM

Dockerコンテナを再起動する方法:コンテナID(Docker PS)を取得します。コンテナを停止します(docker stop< container_id>);コンテナを起動します(docker start< container_id>);再起動が成功していることを確認します(Docker PS)。その他の方法:Docker Compose(Docker-Compose Restart)またはDocker API(Dockerドキュメントを参照)。

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

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

DockerによるMySQLを開始する方法 DockerによるMySQLを開始する方法 Apr 15, 2025 pm 12:09 PM

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

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