網站首頁 編程語言 正文
容器時相互隔離的,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
5.1、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
5.2、阿里云服務器需要配置安全組規則
配置完之后就可以在瀏覽器訪問公網ip+3344端口號
查看了
5.3、原理
端口 暴露,linux端口映射到容器端口
0.0.0.0:3344->80/tcp
6.進入nginx容器
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命令實現
原文鏈接:https://www.cnblogs.com/all-smile/p/16771412.html
相關推薦
- 2022-05-17 ubuntu解決虛擬機Ubuntu連接不了網絡(親測)
- 2022-08-19 android九宮格鎖屏控件使用詳解_Android
- 2022-09-30 C++?多態虛函數的底層原理深入理解_C 語言
- 2022-05-08 Python函數命名空間和作用域(Local與Global)_python
- 2022-06-14 C#使用正則表達式_C#教程
- 2022-08-01 GoLand利用plantuml生成UML類圖_Golang
- 2023-05-24 Pytorch中retain_graph的坑及解決_python
- 2022-07-09 JQuery中this的指向詳解_jquery
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支