1. 程式人生 > >Docker安裝nginx並實現負載均衡

Docker安裝nginx並實現負載均衡

一、安裝nginx

1.下載映象:docker pull nginx

2.成功啟動,但沒有掛載nginx.conf配置檔案

    docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/logs:/wwwlogs -d nginx

3.進入互動式終端:

   docker exec -it mynginx /bin/bash

4.在互動終端找到nginx.conf 配置檔案

   

5.退出互動終端:exit

6.在root資料夾下建立三個資料夾

   

7.拷貝互動終端的nginx.conf配置檔案到/root/conf/nginx.conf

    docker cp 95e2b70fdf49:/etc/nginx/nginx.conf $PWD/conf/nginx.conf #使用id或names【mynginx】

8.刪除剛才建立的nginx容器

   docker rm mynginx

9.重新建立nginx容器

 docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs -d nginx

   命令解析:

  • -p 80:80:將容器的80埠對映到主機的80埠

  • --name mynginx:

    將容器命名為mynginx

  • -v $PWD/www:/www:將主機中當前目錄下的www掛載到容器的/www

  • -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:將主機中當前目錄下的nginx.conf掛載到容器的/etc/nginx/nginx.conf

  • -v $PWD/logs:/wwwlogs:將主機中當前目錄下的logs掛載到容器的/wwwlogs

10.docker ps檢視nginx容器

二、負載均衡

  1.在一個主機上使用docker建立nginx和多個tomcat容器【不同埠號】,多個容器【tomcat、mysql、redis。nginx等】是在一       個內部同一個區域網;

  2.在此時配置的時候需要指定的是tomcat容器內部的ip地址。使用docker exec -it tomcat /bin/bash 進入tomcat容器互動式終           端,使用ifconfig檢視ip埠,但是會提示在此容器不能使用ifconfig命令,需要使用apt-get install net-tools 、apt-get update、apt-get install net-tools【依次使用】命令下載安裝。然後再是inconfig可以檢視到ip地址,最後直接在配置檔案直接指定即可

  nginx.conf負載均衡配置

3.上述兩個紅色標記處ip應該對應。使用docker restart nginx重啟nginx ,訪問測試成功。