簡介
- 在同一台服務器上(阿里雲服務器),使用docker搭建nginx集群。
- 創建三個nginx容器,其中一台需要進行宿主主機的端口映射作為主服務器,其余容器不需要端口映射,也不需要配置橋接網絡,默認即可。
實操
創建容器
-
獲取鏡像:
docker pull daocloud.io/nginx
。 -
docker run -itd --name nginx_master -p 8080:80 daocloud.io/nginx /bin/bash
創建nginx主服務容器,將容器的80端口映射到宿主主機的8080端口。 -
docker exec -it nginx_master bash
進入容器,/usr/sbin/nginx
啟動nginx -
創建兩個從nginx容器:
docker run -itd --name nginx_slave1 daocloud.io/nginx /bin/bash
docker run -itd --name nginx_slave2 daocloud.io/nginx /bin/bash -
進入從nginx容器,啟動(和主nginx一樣啟動,操作)(一定要都啟動)
-
docker ps 查看以運行容器
-
- 打開一個終端查看容器的網絡信息:
- docker network ls
- docker network inspect 對應你實際NETWORK ID
-
- 進入 nginx_master :docker exec -it nginx_master bash
- 修改配置文件 :
vim /etc/nginx/conf.d/default.conf
(這是可能會報 :
-bash: yum: command not found 運行:apt-get update & apt-get install vim)
-
upstream 172.17.0.2 {
server 172.17.0.3;
server 172.17.0.4;
server {listen 80;
server_name localhost;
location / {
proxy_pass http://172.17.0.2;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
} service restart nginx
重啟服務。
從nginx配置
-
在兩個slave容器中,分別修改默認站點的首頁,添加各自的ip來標識。
vim /usr/share/nginx/html/index.html
-
-
效果圖: