前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker | 部署nginx服务

Docker | 部署nginx服务

原创
作者头像
甜点cc
发布2022-10-09 11:38:59
7260
发布2022-10-09 11:38:59
举报

容器时相互隔离的,docker启动的nginx是容器内的服务,不影响我原先服务器上的nginx服务,小伙伴们可大胆尝试😃

本篇实在linux环境下操作的,主要目的是夺人眼目,对使用Docker部署服务进行尝鲜,先体会一下Docker的便捷之处。

1、下载nginx镜像

代码语言:shell
复制
docker pull nginx

2、查看下载的镜像

代码语言:shell
复制
docker ps

3、启动nginx镜像

代码语言:shell
复制
docker run -d --name nginx01 -p 3344:80 nginx(镜像名或者镜像id)
image.png
image.png

4、查看启动的nginx

代码语言:shell
复制
docker ps

5、访问启动的nginx

在云服务器内使用 curl 测试访问

代码语言:shell
复制
curl localhost:3344
image.png
image.png

5.1、linux开放防火墙端口

firewall-cmd位于firewalld包中

systemctl位于systemd包中

安装防火墙工具:

代码语言:shell
复制
yum install firewalld systemd -y

常用命令:

代码语言:shell
复制
# 查看firewall(防火墙)服务状态
systemctl status firewalld

#开启防火墙
systemctl start firewalld

#重启防火墙
service firewalld  restart

#关闭防火墙
service firewalld  stop

#查看防火墙规则
firewall-cmd --list-all     #查看全部信息
firewall-cmd --list-ports     #只看端口信息

#添加防火墙开放端口
firewall-cmd --add-port=8001/tcp --permanent
or
firewall-cmd --zone=public --add-port=8080/tcp --permanent
命令含义:
  --zone          #作用域(public标识公共的)
  --add-port=80/tcp   #添加端口, 格式为:端口/通讯协议
  --permanent       #永久生效,没有此参数重启后失效
  
# 不要忘记reload!
firewall-cmd --reload

5.2、阿里云服务器需要配置安全组规则

配置完之后就可以在浏览器访问公网ip+3344端口号查看了

5.3、原理

端口暴露,linux端口映射到容器端口

0.0.0.0:3344->80/tcp

image.png
image.png

6.进入nginx容器

代码语言:shell
复制
docker exec -it 0a7ebd6bc291 /bin/bash
root@0a7ebd6bc291:/# ls
bin  boot  dev	docker-entrypoint.d  docker-entrypoint.sh  etc	home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@0a7ebd6bc291:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@0a7ebd6bc291:/# cd /etc/nginx/
root@0a7ebd6bc291:/etc/nginx# ls
conf.d	fastcgi_params	mime.types  modules  nginx.conf  scgi_params  uwsgi_params
root@0a7ebd6bc291:/etc/nginx# 

问题探索

每次改动nginx配置,都需要进入容器内部修改,十分麻烦,能否在容器外部提供一个映射路径,达到修改配置文件,容器内部就会自动修改?

数据卷技术

nginx.conf配置文件,注意Nginx默认是后台运行的,但Docker需要其在前台运行,否则直接退出容器。配置文件中添加daemon off;关闭后台运行。可以通过Dockerfile配置CMD命令实现

感谢阅读,本篇完,数据卷技术下文继续分享!

我是 甜点cc

热爱前端,也喜欢专研各种跟本职工作关系不大的技术,技术、产品兴趣广泛且浓厚,等待着一个创业机会。本号主要致力于分享个人经验总结,希望可以给一小部分人一些微小帮助。

希望能和大家一起努力营造一个良好的学习氛围,为了个人和家庭、为了我国的互联网物联网技术、数字化转型、数字经济发展做一点点贡献。数风流人物还看中国、看今朝、看你我。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、下载nginx镜像
  • 2、查看下载的镜像
  • 3、启动nginx镜像
  • 4、查看启动的nginx
  • 5、访问启动的nginx
    • 5.1、linux开放防火墙端口
      • 5.2、阿里云服务器需要配置安全组规则
        • 5.3、原理
        • 6.进入nginx容器
        • 问题探索
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档