使用场景: 在windows server 2012 服务器上使用docker-mysql服务, 由于docker windows使用的是virtualbox 虚拟机安装的容器, 所以使用docker run -p xx:xx 不能让外界直接访问,所以用到了nginx来反向代理,实现windows —> docker:mysql
1, 启动docker-mysql服务
#创建目录: 在宿主机上存放mysql数据,防丢失
mkdir -p /softwares/docker-mysql/data
docker run -d --name mysql \
-p 3306:3306 \
-v /softwares/docker-mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD="123456" \
mysql:5.5
2, nginx.conf配置
添加如下配置 ,注意[stream] 要和[http]同级
stream {
upstream mysql{
hash $remote_addr consistent;
server 192.168.99.100:3306 max_fails=3 fail_timeout=30s;
}
server {
listen 3306;
proxy_connect_timeout 3000s;
proxy_timeout 6000s;
proxy_pass mysql;
}
}
#http{
# ............
#}