容器时互相隔离的,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多平台公布