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