前言
本章讲解的是Docker部署nginx,快速搭建,及映射目录。
部署流程
需要Docker服务,附上部署连接 Docker 部署指定工作目录
创建nginx工作目录
#需要一个conf文件存放目录,和html文件目录,及日志存放目录 mkdir -p /data/applications/nginx/conf mkdir -p /data/applications/nginx/html mkdir -p /data/logs
需要nginx的初始化配置文件,为了保证不出错,我们直接启动一个nginx容器,把配置文件拉取下来,然后删除容器
启动nginx容器,如果这个镜像本机中没有,会自动下载镜,我这下载是的1.20版本
docker run --name nginx -p 80:80 -d nginx:1.20.1
复制容器中配置文件目录到本机中,然后删除容器
docker cp nginx:/etc/nginx/nginx.conf /data/applications/nginx/conf/nginx.conf docker cp nginx:/etc/nginx/conf.d /data/applications/nginx/conf/conf.d docker cp nginx:/usr/share/nginx/html /data/applications/nginx/ docker rm -f nginx
启动容器
docker run -d \ -p 80:80 \ -p 443:443 \ --name nginx \ --restart=always \ --network-alias nginx \ -e TZ="Asia/Shanghai" \ -v /data/applications/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /data/applications/nginx/conf/conf.d:/etc/nginx/conf.d \ -v /data/logs/nginx:/var/log/nginx \ -v /data/applications/nginx/html:/usr/share/nginx/html \ -v /data/applications/nginx/cert:/etc/nginx/cert \ nginx:1.20.1
如果firewalld防火墙开启了的话,要么开启这个端口,要么把防火墙给关了
#防火墙添加端口,以80为例 firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload #永久关闭防火墙,和SElinux systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
访问
ip+端口,这里是80端口,所已直接访问ip就行了,如果是其它端口就需要把端口也写上去。或者你放个html文件到/data/applications/nginx/html目录下,就可以看到你访问的东西了
容器参数讲解
参数 | 参数讲解 |
---|---|
-p | 映射端口,本机开放80,443端口,映射容器中的80,443端口 |
–name | 给容器起个名字叫nginx |
–restart | 表示当docker服务重启,这个容器也跟着启动 |
–network-alias | 容器取个网络别名,意思是,其他容器要访问这个nginx容器的时候直接使用这个别名就可以了,比如我在其它容器ping它,只需要 ping nginx 就可以了,不需要写ip |
-e | 指定时间为上海 |
-v | 就是映射本机的目录,对应容器的目录,本机目录下的东西发生改变,容器中的目录也一样改变,反过来也是,比如上面映射了几个目录。1,初始配置文件。2,conf.d目录,如果你要增加配置文件都放到此目录下。3,日志目录,查看日志。4,html目录,html文件都可以放到此目录下。5证书存放目录,留着备用,万一以后需要添加证书。以上映射的目录都对应容器的目录,在配置文件中写路径的话,一定要写容器的的路径 |
结言
本章讲的Docker搭建nginx到此结束,希望和同行一起探讨
本文含有隐藏内容,请 开通VIP 后查看