nginx 简介
docker安装Nginx
Nginx是一个高效的HTTP和反向代理web服务器,同时也提供了IMAP / POP3 / SMTP服务。
查看可用的Nginx版本
访问Nginx更大的库地址:https 😕/hub.docker.com/_/nginx?tab = tags 。
可以通过排序查看其他版本的Nginx,默认为最新版本nginx:latest。
docker 安装,参考资料
docker nginx 拉取镜像
# 开始
$ docker search nginx # 查看镜像
$ docker pull nginx # 拉取最新版本
docker 安装 (安装测试阶段)
注:可忽略,直接从下面 容器正式运行 开始
# 先尝试运行(运行结束后,会自动删除容器)
$ docker run -it --rm nginx /bin/bash
root@debian10:~# docker run -it --rm nginx /bin/bash
root@36260a8e54aa:/#
# 查看当前 nginx 版本
$ nginx -v
root@4cfc7656d419:/# nginx -v
nginx version: nginx/1.19.2
# 查看配置文件所在
# /etc/nginx/nginx.conf 默认位置
$ nginx -t
root@36260a8e54aa:/# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
/etc/nginx/nginx.conf # 配置文件存放路径
# 查看网站目录
# /usr/share/nginx/html 默认位置
$ cd /usr/share/nginx/html
root@36260a8e54aa:/usr/share/nginx# cd /usr/share/nginx/html
root@36260a8e54aa:/usr/share/nginx/html# ls
50x.html index.html
# 查看日志存放路径
# /var/log/nginx/ 默认位置
$ cd /var/log/nginx/
root@36260a8e54aa:/usr/share/nginx/html# cd /var/log/nginx/
root@36260a8e54aa:/var/log/nginx# ls
access.log error.log
# 退出
$ exit
docker 正式安装运行
准备工作得知
nginx 版本 -> nginx/1.19.2
/etc/nginx/nginx.conf # 配置文件所在
/var/log/nginx # 日志路径
/usr/share/nginx/html # 网站根路径
# 创建挂载路径
$ mkdir -p /home/local/nginx/www /home/local/nginx/logs /home/local/nginx/conf
# 运行容器(无配置文件挂载)
$ sudo docker run \
-d \
-p 7788:80 \
--name nginx01 \
-v /home/local/nginx/www:/usr/share/nginx/html \
-v /home/local/nginx/logs:/var/log/nginx \
nginx
# 查看运行的容器
$ sudo docker ps
root@debian10:~# docker ps -a
CONTAINER ID IMAGE COMMAND NAMES
96f55728ff96 nginx "/docker-entrypoint.…" nginx01
55db6c6805b1 zookeeper "/docker-entrypoint.…" zoo3
91de65ea9de3 zookeeper "/docker-entrypoint.…" zoo1
33b160a7bd5b zookeeper "/docker-entrypoint.…" zoo2
# 找到 nginx01 对应的 CONTAINER ID -> 96f55728ff96
# 拷贝容器中配置文件 到 挂载点配置路径
$ sudo docker cp 96f55728ff96:/etc/nginx/nginx.conf /home/local/nginx/conf
# 强制删除容器
$ sudo docker rm -f 96f55728ff96
# 最后正式运行(有配置文件挂载)
$ sudo docker run \
-d \
-p 7788:80 \
--name nginx01 \
-v /home/local/nginx/www:/usr/share/nginx/html \
-v /home/local/nginx/logs:/var/log/nginx \
-v /home/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
nginx
# -d 后台运行
# -p 端口映射
# -v 设置文件挂载
# 打开浏览器测试
http://ip:7788
403 Forbidden
nginx/1.19.2
# 原因 /home/local/nginx/www 没有内容,自己加入html文件即可
# 扩展
# 7788 防火墙端口要放开
$ sudo docker update --restart=always 99f95e615c0e 修改容器开机启动
# 结束