1. 下载nginx镜像包
百度云盘下载地址
2. 加载镜像
sudo docker load < nginx.tar
sudo docker run --name nginx -d -p 80:80 nginx
sudo mkdir /etc/nginx
cd /etc/nginx/
sudo docker cp nginx:/etc/nginx/nginx.conf /etc/nginx/nginx.conf
sudo docker cp nginx:/etc/nginx/conf.d/ /etc/nginx/conf.d
3. 配置文件拷贝完成,停止当前nginx,使用外部配置文件启动
sudo docker stop nginx
sudo docker rm nginx
sudo mkdir /etc/nginx/log
sudo docker run --name nginx -d -p 80:80 -v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf -v /etc/nginx/conf.d/:/etc/nginx/conf.d/ -v /etc/nginx/log:/var/log/nginx nginx
sudo docker ps
4. docker/nginx反向代理tcp
4.1 在/etc/nginx/conf.d文件夹下新建proxy.conf文件
cd /etc/nginx/conf.d/
vim proxy.conf
stream {
upstream cloudsocket {
hash $remote_addr consistent;
server 172.16.130.1:3306 max_fails=3 fail_timeout=30s;
}
server {
listen 13306;
proxy_connect_timeout 10s;
proxy_timeout 300s;
proxy_pass cloudsocket;
}
}
4.2 修改nginx.conf,引入proxy.conf
cd /etc/nginx/
vim nginx.conf
4.3 启动nginx,nginx添加了13306监听,故需多增加-p 13306:13306监听端口
docker stop nginx && docker rm nginx
docker run --name nginx -d -p 80:80 -p 13306:13306 -v /etc/timezone:/etc/timezone:ro -v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf -v /etc/nginx/conf.d/:/etc/nginx/conf.d/ -v /etc/nginx/log:/var/log/nginx nginx
4.4 要看监听端口
lsof -i:13306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
exe 3134 root 4u