Docker安装和部署nginx

一、部署Nginx

安装与运行

#拉取nginx
docker pull nginx  #直接拉取laster版本

为挂载做准备

#创建文件夹
mkdir -p nginx/{conf/conf.d,ssl,html,logs}

#挂载配置文件,就是把装有docker宿主机上面的nginx.conf配置文件映射到启动的nginx容器里面,首先准备好nginx.conf 和default.conf
[root@localhost conf]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
7df3d20adad0        nginx               "/docker-entrypoint.…"   12 hours ago        Up 12 hours         0.0.0.0:8081->80/tcp     testnginx
99376ac7992c        minio/minio         "/usr/bin/docker-ent…"   45 hours ago        Up 12 hours         0.0.0.0:9000->9000/tcp   minio

[root@localhost conf]# docker cp 7df3d20adad0:/etc/nginx/nginx.conf /data/docker/nginx/conf/nginx.conf                                                                                   
[root@localhost conf]# docker cp 7df3d20adad0:/etc/nginx/conf.d/default.conf /data/docker/nginx/conf/conf.d/default.conf


# 准备完后,可以关闭这个容器
[root@localhost /]# docker stop 7df3d20adad0   #停止容器
[root@localhost /]# docker rm 7df3d20adad0 6817bbb1c6c3   #删除容器

知识储备

--detach 或者 -d	#容器后台运行
--privileged	#container内的root拥有真正的root权限,privileged启动的容器,可以看到很多host上的设备,并且可以执行mount

-v 	容器内路径                #匿名挂载
-v 	卷名:容器内路径          #具名挂载
-v 	/宿主机路径:容器内路径    #指定路径挂载

#一旦这个设定了容器权限,容器对我们挂载出来的内容就有限定了
#只要看到ro就说明这个路径只能通过宿主机来改变,容器内部是无法操作的
ro  	#只读 readonly  
rw 		#可读可写 readwrite 

运行容器

[root@localhost /]# docker run -p 80:80 -p 443:443 --name nginx \
> -d --restart=always \
> -v /data/docker/nginx/html:/usr/share/nginx/html:rw \
> -v /data/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf/:rw \
> -v /data/docker/nginx/conf/conf.d/:/etc/nginx/conf.d/:rw \
> -v /data/docker/nginx/logs:/var/log/nginx/:rw \
> -v /data/docker/nginx/ssl:/ssl/:rw \
> nginx

访问80端口

  • html文件夹下的内容为空,所以如下
    在这里插入图片描述
  • html下创建一个简单页面
[root@localhost /]# cd /data/docker/nginx/html
[root@localhost html]# ls
[root@localhost html]# vim index.html

#	vim 命令进入文件
#	进入后直接 i  插入信息
#	改好内容,按esc 退出编辑状态
#	:q 退出不保存   :q! 强制不保存退出
#	:wq 保存后退出	:wq! 强制保存后退出

在这里插入图片描述

在这里插入图片描述

二、配置文件分析

- 修改 Nginx 进程最大可打开文件数(worker_processes和worker_connections) https://blog.csdn.net/liupeifeng3514/article/details/79007079

三、问题

问题:nginx.conf配置文件在 /etc/nginx/ 下面,vi或者vim命令没有用

#vim
root@7df3d20adad0:/etc/nginx/conf.d# vi default.conf
bash: vi: command not found
root@7df3d20adad0:/etc/nginx/conf.d# vim default.conf
bash: vim: command not found


#原因:启动后直接进入容器,nginx容器内默认没有vim编辑器,先安装vim
#解决方式
apt-get  update  
apt-get install vim

$ docker run -it -p 80:80 -p 443:443 -v /etc/letsencrypt:/etc/letsencrypt -v /usr/www:/usr/www --name nginx80 --restart=always  nginx bash

四、参考链接

- Nginx 配置详解
https://www.runoob.com/w3cnote/nginx-setup-intro.html

- 修改 Nginx 进程最大可打开文件数(worker_processes和worker_connections) https://blog.csdn.net/liupeifeng3514/article/details/79007079

-nginx下证书配置 nginx 下 配 置 CA 认 证
ht tps://www.cnblogs.com/lzcys8868/p/6281932.html

-Nginx server之Nginx添加ssl支持
https://www.cnblogs.com/chjbbs/p/6802923.html

- openssl 证书操作
https://www.cnblogs.com/lost-1987/articles/3268140.html

转发大神链接
-docker nginx 安装和简单配置 https://blog.csdn.net/acsiont/article/details/104113480

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值