容器时互相隔离的,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 --permanentorfirewall-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]:/# lsbin  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 nginxnginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx[email protected]:/# cd /etc/nginx/[email protected]:/etc/nginx# lsconf.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多平台公布