Docker中部署nginx服務(wù)的方案
容器時(shí)相互隔離的,docker
啟動(dòng)的nginx
是容器內(nèi)的服務(wù),不影響我原先服務(wù)器上的nginx
服務(wù),小伙伴們可大膽嘗試??
本篇實(shí)在linux環(huán)境下操作的,主要目的是奪人眼目,對(duì)使用Docker部署服務(wù)嘗鮮,先體會(huì)一下Docker的便捷之處。
1、下載nginx鏡像
docker pull nginx
2、查看下載的鏡像
docker ps
3、啟動(dòng)nginx鏡像
docker run -d --name nginx01 -p 3344:80 nginx(鏡像名或者鏡像id)
4、查看啟動(dòng)的nginx
docker ps
5、訪問(wèn)啟動(dòng)的nginx
在云服務(wù)器內(nèi)使用 curl 測(cè)試訪問(wèn)
curl localhost:3344
5.1、linux開(kāi)放防火墻端口
firewall-cmd
位于firewalld
包中
systemctl
位于systemd
包中
安裝防火墻工具:
yum install firewalld systemd -y
常用命令:
# 查看firewall(防火墻)服務(wù)狀態(tài) systemctl status firewalld #開(kāi)啟防火墻 systemctl start firewalld #重啟防火墻 service firewalld restart #關(guān)閉防火墻 service firewalld stop #查看防火墻規(guī)則 firewall-cmd --list-all #查看全部信息 firewall-cmd --list-ports #只看端口信息 #添加防火墻開(kāi)放端口 firewall-cmd --add-port=8001/tcp --permanent or firewall-cmd --zone=public --add-port=8080/tcp --permanent 命令含義: --zone #作用域(public標(biāo)識(shí)公共的) --add-port=80/tcp #添加端口, 格式為:端口/通訊協(xié)議 --permanent #永久生效,沒(méi)有此參數(shù)重啟后失效 # 不要忘記reload! firewall-cmd --reload
5.2、阿里云服務(wù)器需要配置安全組規(guī)則
配置完之后就可以在瀏覽器訪問(wèn)公網(wǎng)ip+3344端口號(hào)
查看了
5.3、原理
端口 暴露,linux端口映射到容器端口
0.0.0.0:3344->80/tcp
6.進(jìn)入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#
問(wèn)題探索
每次改動(dòng)nginx
配置,都需要進(jìn)入容器內(nèi)部修改,十分麻煩,能否在容器外部提供一個(gè)映射路徑,達(dá)到修改配置文件,容器內(nèi)部就會(huì)自動(dòng)修改?
數(shù)據(jù)卷技術(shù)
nginx.conf
配置文件,注意Nginx
默認(rèn)是后臺(tái)運(yùn)行的,但Docker
需要其在前臺(tái)運(yùn)行,否則直接退出容器。配置文件中添加daemon off;
關(guān)閉后臺(tái)運(yùn)行。可以通過(guò)Dockerfile
配置CMD命令實(shí)現(xiàn)
到此這篇關(guān)于Docker中部署nginx服務(wù)的方案的文章就介紹到這了,更多相關(guān)Docker部署nginx內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker使用Calico網(wǎng)絡(luò)模式配置及問(wèn)題處理方法
這篇文章主要介紹了Docker使用Calico網(wǎng)絡(luò)模式配置及問(wèn)題處理,設(shè)計(jì)思想是Calico不使用隧道或者NAT來(lái)實(shí)現(xiàn)轉(zhuǎn)發(fā),而是巧妙的把所有二三層流量轉(zhuǎn)換成三層流量,并通過(guò)host上路由配置完成跨host轉(zhuǎn)發(fā),需要的朋友可以參考下2022-11-11Docker mysql+nacos單機(jī)部署的實(shí)現(xiàn)步驟
本文主要介紹了Docker mysql+nacos單機(jī)部署的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08docker run的--rm選項(xiàng)使用說(shuō)明
這篇文章主要介紹了docker run的--rm選項(xiàng)使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11Docker動(dòng)態(tài)添加端口不需要重新建立鏡像的方法
Docker容器在運(yùn)行期間有時(shí)可能會(huì)需要修改或者添加暴露的端口,但是有時(shí)候運(yùn)行的容器又不想再另外建立一個(gè)新的鏡像。接下來(lái)通過(guò)本文給大家分享Docker動(dòng)態(tài)添加端口不需要重新建立鏡像的方法,感興趣的朋友一起看看吧2019-07-07