一、docker下载最新版nginx镜像
docker pull nginx

下载完成后查看下载的nginx镜像,docker images

二、在宿主机上创建nginx的conf、log、html挂载目录
mkdir -p /usr/local/nginx/conf
mkdir -p /usr/local/nginx/log
mkdir -p /usr/local/nginx/html

三、启动容器,将容器内的文件复制到宿主机
docker run -d -p 80:80 --name nginx nginx:latest

使用docker ps命令查看启动的容器列表

nginx服务启动以后,将容器内的文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d /usr/local/nginx/conf/conf.d
docker cp nginx:/usr/share/nginx/html /usr/local/nginx/

四、删除nginx容器,重新创建nginx容器并启动
停止容器docker stop nginx
删除容器docker rm nginx

重启创建和启动nginx容器
docker run --name nginx -p 80:80 \
-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/nginx/html/:/usr/share/nginx/html/ \
-v /usr/local/nginx/log:/var/log/nginx \
-v /usr/local/nginx/conf/conf.d/:/etc/nginx/conf.d/ \
--restart=always --privileged=true -d nginx
下面这段可选
docker run --name nginx -d -p 80:80 -p 443:443 -p 9999:9999 -p 1234:1234 -p 5678:5678 -v /usr/local/nginx/html:/usr/share/nginx/html -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/conf.d:/etc/nginx/conf.d -v /usr/local/nginx/logs:/var/log/nginx -v /usr/local/nginx/ssl:/etc/nginx/ssl -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --privileged=true --restart=always nginx:latest

五、查看运行的容器

打开浏览器,访问地址:http://你的nginx宿主机外网IP,我的nginx宿主机IP是192.168.0.2,所以我访问:http://92.168.0.2

此时表示nginx安装完成,如果无法访问,请检查防火墙,我的是测试环境,我是直接关闭了防火墙,现实环境不能关闭防火墙,访问不了的时候,记得配置防火墙进行端口放行。
六、linux常用操作防火墙命令
- systemctl status firewalld 查看防火墙状态
- systemctl stop firewalld 关闭防火墙
- systemctl start firewalld 开启防火墙
- firewall-cmd --list-all 查看防火墙开放的端口
- sudo firewall-cmd --add-port=8080/tcp --permanent 添加某一个端口,例如添加8080端口,加上
--permanent永久生效,没有此参数重启后失效 - firewall-cmd --reload 重启防火墙,当添加了新的端口后,一定要重启防火墙,否则不生效
- firewall-cmd --zone=public --query-port=3306/tcp 查看某个端口是否被开放,例如查询3306端口是否被开放放行
- firewall-cmd --zone=public --remove-port=3306/tcp --permanent 关闭端口,例如关闭3306端口放行
七、(可选)开启nignx文件压缩,在/usr/local/nginx/conf/nginx.conf文件中加入以下内容:
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";

加完以后保存退出vi编辑。然后重启nginx容器,docker restart nginx即可生效。
八、(可选)nginx配置代理访问前端项目index,和后端接口代理配置
进入/usr/local/nginx/conf/conf.d目录,编辑default.conf文件,加入以下内容:

保存退出,然后重启nginx容器docker restart nginx
Docker部署Nginx教程
485

被折叠的 条评论
为什么被折叠?



