nginxコンテナからnginxコンテナへ通信した話

Uncategorized

※プロモーションページが含まれる場合があります

dockerでnginxからnginx’(ダッシュ)へやnginxからnginx”(ツーダッシュ)に通信させて、

そろぞれのnginxから別のアプリ(laravelとかexpressとか)に通信させたのでその備忘録

図にするとこのような感じ↓

いわれたままにこの通信環境を用意することができたが、こんなにnginxを多用するってなんなんだ・・・

やり方

コンテナ名は

  • ↑で書いてあるnginxをwebとし、nginx’をapp-lbとする。
  • appをappとする

nginx(web)

server {
    listen 80;  

    location / {
        proxy_pass  http://app-lb;
    }
}

app-lb

server {
    listen 80;  
    root /var/www/html/public; 
    index index.php; 
    server_name tablegame.jp;
    access_log  /var/log/nginx/web_main_access.log ltsv;

    location / {
        root /var/www/html/public;
        index index.php;
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass app:9000;  
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }

}

docker-compose.yml

services:
  web:
    # Dockerfileを置いているパスとファイル名を指定
    build:
      context: .
      dockerfile: ./nginx/Dockerfile
      args:
        - CONF_FILE=web
    # コンテナ名の指定
    container_name: web
    restart: always #always:停止しているコンテナを自動的に起動する
    ports:
      - "8080:80"
    depends_on:
      - app
    networks:
      - tablegame-network
  app-lb:
    build:
      context: .
      dockerfile: ./nginx/Dockerfile
    # コンテナ名の指定
    container_name: app-lb
    restart: always #always:停止しているコンテナを自動的に起動する
    volumes:
      - ./laravel/src:/var/www/html

      - ./nginx/logs:/var/log/nginx

      - ./nginx/conf/dev/laravel.conf:/etc/nginx/conf.d/default.conf
    ports:
      - "8089:80"
        # dockerのビルドにおいて依存先のコンテナが起動してから自身を起動する
        # コンテナが所属するネットワークグループの指定
    networks:
      - tablegame-network

悩んだ点

初めはポート8089でapp-lbを立ててるから8089にアクセスるかと思った(web上でlocalhost:8089を叩くとアクセスできたので)が、app-lbコンテナ自体は80ポートを開いているのでwebコンテナからは単純に80を指定してあげたら行けた。

networksグループで指定しているからかな?

コメント

タイトルとURLをコピーしました