docker初體驗:docker部署nginx負載均衡叢集

大雄45發表於2021-08-30
導讀 Docker 是一個用於開發,交付和執行應用程式的開放平臺。Docker 使您能夠將應用程式與基礎架構分開,從而可以快速交付軟體。今天來為大家演示一下docker部署nginx負載均衡叢集

docker初體驗:docker部署nginx負載均衡叢集docker初體驗:docker部署nginx負載均衡叢集

環境

7

安裝docker
移除舊版本docker
[root@chaols ~]#  sudo yum remove docker \
>                   docker-client \
>                   docker-client-latest \
>                   docker-common \
>                   docker-latest \
>                   docker-latest-logrotate \
>                   docker-logrotate \
>                   docker-engine
安裝yum-utils包並設定穩定儲存庫
[root@chaols ~]# yum install -y yum-utils
安裝docker
[root@chaols ~]# yum install docker-ce docker-ce-cli containerd.io
啟動docker
[root@chaols ~]# systemctl start docker
檢視docker映象

剛剛安裝docker是沒有映象的

[root@chaols ~]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
下載nginx映象
[root@chaols ~]# docker pull nginx
本地建立3個nginx目錄
[root@chaols nginx]# pwd
/home/nginx
[root@chaols nginx]# ls
nginx01  nginx02  nginx03
[root@chaols nginx]# ls nginx01/ && ls nginx02 && ls nginx03
conf.d  fastcgi_params  mime.types  modules  nginx.conf  scgi_params  uwsgi_params
conf.d  fastcgi_params  mime.types  modules  nginx.conf  scgi_params  uwsgi_params
conf.d  fastcgi_params  mime.types  modules  nginx.conf  scgi_params  uwsgi_params
建立網路
docker network create --driver bridge --subnet 172.16.0.0/16 --gateway 172.16.0.1 mynet
chao_nginx01配置檔案
[root@chaols ~]# cat /home/nginx/nginx01/conf.d/default.conf 
upstream chao_test {
         server 172.16.0.2 weight=5;
        server 172.16.0.3 weight=5;
} 
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;
    #access_log  /var/log/nginx/host.access.log  main;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        proxy_pass 
    }
chao_nginx02、chao_nginx03配置檔案相同
[root@chaols ~]# cat /home/nginx/nginx02/conf.d/default.conf 
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;
    #access_log  /var/log/nginx/host.access.log  main;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
配置頁面展示

chao_nginx02

[root@chaols ~]# cat /home/html02/index.html 
02020202020202
chao_nginx03
[root@chaols ~]# cat /home/html03/index.html 
030303030303
建立虛擬機器

-d 後臺執行 --name 指定名字 --net 指定剛剛建立的網路 -p 指定宿主機的對映埠 -v 指定和宿主機共享的目錄 nginx 映象名稱

[root@chaols ~]# docker run  -d --name chao_nginx01 --net mynet -p 8001:80 -v /home/nginx/nginx01:/etc/nginx -v /home/html01/:/usr/share/nginx/html nginx
bf4a1a593e0908e383ade9f0b893a324e3f95cb251844c58a352f4d070ed253d
[root@chaols ~]# docker run  -d --name chao_nginx02 --net mynet -p 8002:80 -v /home/nginx/nginx02:/etc/nginx -v /home/html02/:/usr/share/nginx/html nginx
6177bb3461b8e8e912eacef161b3619d612e1e51136b324aacd6e888ec805b23
[root@chaols ~]# docker run  -d --name chao_nginx03 --net mynet -p 8003:80 -v /home/nginx/nginx03:/etc/nginx -v /home/html03/:/usr/share/nginx/html nginx
abbef89fc891d06de4b055a316eb11c4a938e2033b15ce1528acb858643df8fd
驗證

訪問chao_nginx01:172.16.0.2迴圈顯示chao_nginx02:172.16.0.3、chao_nginx03:172.16.0.4的頁面

[root@chaols ~]# curl 172.16.0.2
030303030303
[root@chaols ~]# curl 172.16.0.2
02020202020202
[root@chaols ~]# curl 172.16.0.2
030303030303
[root@chaols ~]# curl 172.16.0.2
02020202020202
[root@chaols ~]# curl 172.16.0.2
030303030303
[root@chaols ~]# curl 172.16.0.2
02020202020202
[root@chaols ~]# curl 172.16.0.2
030303030303
[root@chaols ~]# curl 172.16.0.2
02020202020202

本文原創地址:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2789549/,如需轉載,請註明出處,否則將追究法律責任。

相關文章