[随笔] docker上使用nginx进行负载均衡示例
2017-12-21 15:23
639 查看
一 安装docker
1. 下载Docker ToolBoxhttps://download.docker.com/win/stable/DockerToolbox.exe,具体可参考文档https://docs.docker.com/toolbox/2. 双击安装toolbox,勾上所有组件并安装所提示的各种设备软件
3. 启动Docker Quickstart Terminal,此时可能弹出需要指定bash.exe目录的提示,选择git/bin/bash.exe即可
4. 输入docker version或者docker info确认是否安装正确
如果出现error during connect. This error may also indicate that the docker daemon is not running。那么说明docker-machine的环境没有配置。使用docker-machine env查看环境配置,如下
$ docker-machine env export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://192.168.99.100:2376" export DOCKER_CERT_PATH="C:\Users\Administrator\.docker\machine\machines\default" export DOCKER_MACHINE_NAME="default" export COMPOSE_CONVERT_WINDOWS_PATHS="true" # Run this command to configure your shell: # eval $("D:\Program Files\Docker Toolbox\docker-machine.exe" env)
根据上述提示,执行最后一行即可
eval $("D:\Program Files\Docker Toolbox\docker-machine.exe" env)
再次执行docker version或者docker info则可正确显示docker的版本信息
5. 查看虚拟机列表docker-machine ls
6. 添加新的虚拟机docker-machine create --driver virtualbox VM_NAME
7. 删除虚拟机docker-machine rm VN_NAME
二 使用nginx进行负载均衡
8. 启动两个spring-boot应用程序的容器docker run -p 8081:8080 --name web1 -it app.jar /bin/bash docker run -p 8082:8080 --name web2 -it app.jar /bin/bash<
4000
br />
9. 启动nginx容器
docker run -p 8083:80 -it nginx /bin/bash
进入容器后,在/etc/nginx/conf.d/中修改default.conf配置。
在使用docker容器时,有时候里边没有安装vim,使用vim命令时提示vim: command not found,则需要安装vim,使用apt-get install vim命令,若提示:
Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package vim
则使用apt-get update,同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,获取到最新的软件包。等更新完毕以后再敲命令:apt-get install vim命令即可。
在default.conf行首加入
upstream balance { server 192.168.99.100:8081; server 192.168.99.100:8082; }
在default.conf的server层级下加入
location / { proxy_pass http://balance; }
10. 执行nginx命令启动nginx,在浏览器中访问http://192.168.99.100:8083,即可看到轮流访问的是192.168.99.100:8081和192.168.99.100:8082两个应用
11. 修改upstream balance,设置real server的权重,并重新加载配置,访问http://192.168.99.100:8083,可以发现轮流访问两个real server的频次比例改变
upstream balance { server 192.168.99.100:8081 weight=9; server 192.168.99.100:8082 weight=1; }
保存后nginx -s reload重新加载配置
三 nginx相关命令
nginx -s reload 修改配置后重新加载生效nginx -s reopen重新打开日志文件
nginx -t -c /path/to/nginx.conf测试nginx配置文件是否正确
关闭nginx:
nginx -s stop快速停止nginx
quit完整有序的停止nginx
其他的停止nginx 方式:
ps -ef | grep nginx
kill -QUIT 主进程号从容停止Nginx
kill -TERM 主进程号快速停止Nginx
pkill -9 nginx强制停止Nginx
启动nginx:
nginx -c /path/to/nginx.conf
平滑重启nginx:
kill -HUP 主进程号
四 配置docker加速器
可以使用如下的脚本将mirror的配置添加到docker daemon的启动参数中。docker-machine ssh default "echo 'EXTRA_ARGS=\"--registry-mirror=https://pee6w651.mirror.aliyuncs.com\"' | sudo tee -a /var/lib/boot2docker/profile" docker-machine restart default
docker info查看修改后的mirror
原文地址 https://mp.weixin.qq.com/s?__biz=MzUzNTU0OTQxMQ==&mid=2247483658&idx=1&sn=15e4576427165e59bb0471dc7b688dec&chksm=fa828586cdf50c90658758360b194eda3f818087b51443b12596d8feb07b16e72169f2e55b50&scene=0#rd
更多好文章请关注 [互联网技术爱好者]
相关文章推荐
- grpc(1):Centos 安装java的grpc服务,使用haproxy进行负载均衡,nginx不支持
- windows 下使用nginx对mysql进行负载均衡
- Nginx简单介绍以及linux下使用Nginx进行负载均衡的搭建
- Docker官方nginx镜像实现负载均衡
- Nginx+Tomcat+Memcached 集群Session共享[memcached服务安装、tomcat使用memcache存储session、nginx安装配置实现tomcat负载均衡]
- windows使用nginx实现网站负载均衡测试实例
- libevent带负载均衡的多线程使用示例
- centos6.7上使用nginx实现负载均衡!
- Nginx简介及使用Nginx实现负载均衡的原理【通俗易懂,言简意赅】
- 使用dockerfile构建nginx镜像的方法示例
- libevent带负载均衡的多线程使用示例
- windows 下使用nginx 实现负载均衡
- docker学习笔记3—使用Dockerfile与docker build命令创建一个nginx服务器镜像,并使用浏览器进行访问
- 使用nginx实现对docker swarm服务的代理负载
- 在Linux上使用Nginx为Solr集群做负载均衡
- Windows下使用Nginx搭建Tomcat集群实现负载均衡,同时实现session共享
- Cent0S下使用LVS+KeepLive进行负载均衡及高可用web服务器(何志雄)
- windows使用nginx+memcached实现负载均衡和session或者缓存共享
- libevent带负载均衡的多线程使用示例
- Nginx简介及使用Nginx实现负载均衡的原理【通俗易懂,言简意赅】【转】