乐趣区

关于前端:Docker-部署nginx服务

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

本篇切实 linux 环境下操作的,本篇次要目标是夺人眼目,对应用 Docker 部署服务尝鲜,先领会一下 Docker 的便捷之处。

1、下载 nginx 镜像

docker pull nginx

2、查看下载的镜像

docker ps

3、启动 nginx 镜像

docker run -d --name nginx01 -p 3344:80 nginx(镜像名或者镜像 id)

4、查看启动的 nginx

docker ps

5、拜访启动的 nginx

在云服务器内应用 curl 测试拜访

curl localhost:3344

linux 凋谢防火墙端口

firewall-cmd位于 firewalld 包中

systemctl位于 systemd 包中

装置防火墙工具:

yum install firewalld systemd -y

常用命令:

# 查看 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

阿里云服务器须要配置平安组规定

配置完之后就能够在浏览器拜访 公网 ip+3344 端口号 查看了

原理

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

0.0.0.0:3344->80/tcp

6. 进入 nginx 容器

docker exec -it 0a7ebd6bc291 /bin/bash
[email protected]:/# 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
[email protected]:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
[email protected]:/# cd /etc/nginx/
[email protected]:/etc/nginx# ls
conf.d    fastcgi_params    mime.types  modules  nginx.conf  scgi_params  uwsgi_params
[email protected]:/etc/nginx# 

问题摸索

每次改变 nginx 配置,都须要进入容器外部批改,非常麻烦,是否在容器内部提供一个映射门路,达到批改配置文件,容器外部就会主动批改?

数据卷技术

nginx.conf配置文件,留神 Nginx 默认是后盾运行的,但 Docker 须要其在前台运行,否则间接退出容器。配置文件中增加 daemon off; 敞开后盾运行。能够通过 Dockerfile 配置 CMD 命令实现

感激浏览,本篇完,数据卷技术下文持续分享!


我是 甜点 cc

酷爱前端,也喜爱专研各种跟本职工作关系不大的技术,技术、产品趣味宽泛且浓重,期待着一个守业机会。本号次要致力于分享集体经验总结,心愿能够给一小部分人一些渺小帮忙。

心愿能和大家一起致力营造一个良好的学习气氛,为了集体和家庭、为了我国的互联网物联网技术、数字化转型、数字经济倒退做一点点奉献。数风流人物还看中国、看今朝、看你我。

本文由 mdnice 多平台公布

退出移动版