Docker | 部署nginx服务
本篇收录至Docker专栏,持续更新,欢迎访问😊
容器时相互隔离的,docker
启动的nginx
是容器内的服务,不影响我原先服务器上的nginx
服务,小伙伴们可大胆尝试😃
本篇实在linux环境下操作的,主要目的是夺人眼目,对使用Docker部署服务进行尝鲜,先体会一下Docker的便捷之处。
1、下载nginx镜像
1 | docker pull nginx |
2、查看下载的镜像
1 | docker ps |
3、启动nginx镜像
1 | docker run -d --name nginx01 -p 3344:80 nginx(镜像名或者镜像id) |
4、查看启动的nginx
1 | docker ps |
5、访问启动的nginx
在云服务器内使用 curl 测试访问
1 | curl localhost:3344 |
5.1、linux开放防火墙端口
firewall-cmd
位于firewalld
包中
systemctl
位于systemd
包中
安装防火墙工具:
1 | yum install firewalld systemd -y |
常用命令:
1 | # 查看firewall(防火墙)服务状态 |
5.2、阿里云服务器需要配置安全组规则
配置完之后就可以在浏览器访问公网ip+3344端口号
查看了
5.3、原理
端口暴露,linux端口映射到容器端口
0.0.0.0:3344->80/tcp
6.进入nginx容器
1 | docker exec -it 0a7ebd6bc291 /bin/bash |
问题探索
每次改动nginx
配置,都需要进入容器内部修改,十分麻烦,能否在容器外部提供一个映射路径,达到修改配置文件,容器内部就会自动修改?
数据卷技术
nginx.conf
配置文件,注意Nginx
默认是后台运行的,但Docker
需要其在前台运行,否则直接退出容器。配置文件中添加daemon off;
关闭后台运行。可以通过Dockerfile
配置CMD命令实现
感谢阅读,本篇完,数据卷技术下文继续分享!
我是 甜点cc
热爱前端,也喜欢专研各种跟本职工作关系不大的技术,技术、产品兴趣广泛且浓厚,等待着一个创业机会。本号主要致力于分享个人经验总结,希望可以给一小部分人一些微小帮助。
希望能和大家一起努力营造一个良好的学习氛围,为了个人和家庭、为了我国的互联网物联网技术、数字化转型、数字经济发展做一点点贡献。数风流人物还看中国、看今朝、看你我。