在线安装最新版本nginx
docker pull nginx:latest
离线安装nginx(去官网下载最新tar包,上传到服务器,在服务器上运行命令)
docker load < nginx.tar
第一种方法:
启动docker上的nginx,将目录映射到服务器。(建议测试环境使用)
1.执行命令启动nginx
docker run
--detach
--name test-nginx
-p 443:443
-p 80:80
#映射html
-v /home/nginx/html:/usr/share/nginx/html
#映射nginx.conf文件
-v /home/nginx/config/nginx.conf:/etc/nginx/nginx.conf/
#映射default.conf文件
-v /home/nginx/config/conf.d/default.conf:/etc/nginx/conf.d/default.conf
#映射log目录
-v /home/nginx/logs:/var/log/nginx/
#映射ssl目录
-v /home/nginx/ssl:/ssl/
-d nginx
<!-- 复制下面这行 -->
docker run --detach --name test-nginx -p 443:443 -p 80:80 -v /home/nginx/html:/usr/share/nginx/html -v /home/nginx/config/nginx.conf:/etc/nginx/nginx.conf/ -v /home/nginx/config/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /home/nginx/logs:/var/log/nginx/ -v /home/nginx/ssl:/ssl/ -d nginx
映射端口443,用于https 请求映射端口80,用于http请求;
nginx的默认首页html的存放目录映射到host盘的目录, /home/nginx/data
nginx的配置文件映射到host盘的文件,/home/nginx/config/nginx.conf
2.在服务器创建对应目录。
- config nginx配置文件目录
- config/conf.d 存放server.conf配置文件目录
- html 放入打包后的项目
- logs 日志目录
- ssl 证书存放目录
第二种方法:
将nginx和项目打成镜像,在docker上运行(建议生产环境使用)
1.创建文件夹docker,放入相关文件,上传到服务器(docker目录如下)
docker
|
|—— dist
|
|—— Dockerfile
|
|—— sm-web.conf
|
|—— buildImages.sh
2.执行打包命令
docker build -t sm-web .
# -t 是给镜像取名。
# 最后有一个点 “.”,表示使用当前路径下的 dockerfile 文件,也可以指定使用其它路径的。
3.查看docker镜像中是否有刚打包好的镜像
docker images
4.运行docker镜像
docker run -p 80:8088 -d --name lx-admin lx-admin
# -p :配置端口映射,格式是外部访问端口:容器内端口
# -d :后台运行
# --name : 给容器取名
# 最后有 2 个 sm-web,前面一个是给容器取的名字,后面一个是使用的镜像的名字