本文主要介绍Docker部署nginx的实现过程,通过示例代码详细说明。对大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。
1。下载nginx
[root@localhostmy.Shells]#dockerimages REPOSITORYTAGIMAGEIDCREATEDSIZE docker.io/redislatest1e70071f4af46weeksago106.7MB [root@localhostmy.Shells]#dockerpullnginx//下载nginx Usingdefaulttag:latest Tryingtopullrepositorydocker.io/library/nginx... latest:Pullingfromdocker.io/library/nginx e7bb522d92ff:Pullcomplete 6edc05228666:Pullcomplete cd866a17e81f:Pullcomplete Digest:sha256:285b49d42c703fdf257d1e2422765c4ba9d3e37768d6ea83d7fe2043dad6e63d [root@localhostmy.Shells]#dockerimages REPOSITORYTAGIMAGEIDCREATEDSIZE docker.io/nginxlatest3f8a4339aadd3weeksago108.5MB docker.io/redislatest1e70071f4af46weeksago106.7MB2。运行nginx
[root@localhostmy.Shells]#dockerrun-p8080:80-ddocker.io/nginx//将80端口映射为8080,或者80:80还是原先的80端口,不可以不写。 c0462d5e18783e20f9515108fa62ab0f2ac808ea85370a7c82aee9407abf4672 [root@localhostmy.Shells]#netstat-anp|grep8080//端口已经开启了 tcp600:::8080:::*LISTEN2529/docker-proxy-c [root@localhostmy.Shells]#dockerps//nginx已经在运行了 CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES c0462d5e1878docker.io/nginx"nginx-g'daemonoff"4minutesagoUp4minutes0.0.0.0:8080->80/tcpangry_mccarthy3。运行结果
[root@localhostmy.Shells]#./openFirewallPort.sh//先在防火墙上开一个端口 entertheport: success ---openFirewallPort.sh------- echo"entertheport:" readport firewall-cmd--add-port=$port/tcp #下图已经成功访问到了注意:
docker运行nginx时,外部访问仍然是docker所在的IP地址,相当于nginx运行在那台机器上。
但是对于docker所在的机器来说,nginx就是依附于docker的一面镜子。如果运行nginx,docker登录nginx容器并运行。
登录nginx容器是linux系统,但只有nginx,按照linux的默认路径安装。例如
root@c0462D5e1878:/usr/share/nginx/html#ls该路径是默认的静态页面存储路径
50x.htmlindex.html。
Bash命令都一样,但是vi在我的机器上用不了,但是你可以用cp,mv等命令,因为nginx都是配置好的,不能改。
1)你可以在登录nignx容器之前写好需要的文件,然后复制到指定的目录:
[root@localhostmy。shell]#dockerCPhello.htmlc0462D5e1878://usr/share/nginx/html
[root@localhostmy。shell]#dockerexec-itc0462D5e1878bash
root@c0462D5e1878:/usr/share/nginx/html#ls
50x.htmlhello.html指数.html
2)通过主机目录映射到容器
dockerRun-p80:80-d-v$pwd/html:usr/share/nginx/HTMLdocker.io/nginx
-v$pwd/HTML:usr/share/nginx/HTML表示将当前路径中的HTML目录映射到usr/share。
也就是说主机下的html是容器下的usr/share/nginx/html
html中文件的修改和添加相当于容器usr/share/nginx/html文件 *** 作
可以通过外网访问来访问,不用登录容器 *** 作文件。
4。停止服务
[root@localhostmy.Shells]#dockerps CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES c0462d5e1878docker.io/nginx"nginx-g'daemonoff"56minutesagoUp56minutes0.0.0.0:8080->80/tcpangry_mccarthy [root@localhostmy.Shells]#dockerstopc0462d5e1878 c0462d5e1878 [root@localhostmy.Shells]#dockerps CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES5。重新启动服务
[root@localhostmy.Shells]#dockerps CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES [root@localhostmy.Shells]#dockerstartc0462d5e1878 c0462d5e1878 [root@localhostmy.Shells]#dockerps CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES c0462d5e1878docker.io/nginx"nginx-g'daemonoff"59minutesagoUp12seconds0.0.0.0:8080->80/tcpangry_mccarthy6。再次启动相同的服务
[root@localhostmy.Shells]#dockerrun-p8081:80-ddocker.io/nginx //再开启一个服务,端口为8081 1fd8a0b5d138203150f1cdbfb9690235159159881785a4654abb04c7c96c5b18 [root@localhostmy.Shells]#dockerps//会有两个进程,一个8080,一个8081 CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 1fd8a0b5d138docker.io/nginx"nginx-g'daemonoff"4secondsagoUp3seconds0.0.0.0:8081->80/tcpsuspicious_hypatia c0462d5e1878docker.io/nginx"nginx-g'daemonoff"AboutanhouragoUp4minutes0.0.0.0:8080->80/tcpangry_mccarthy上图是新开通的8081服务。注意:新启动的服务和原来的服务是两个容器,新服务中没有找到原来的hello.html。
7。卸载服务
[root@localhostmy.Shells]#dockerps//此时8080和8081都在运行 CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 1fd8a0b5d138docker.io/nginx"nginx-g'daemonoff"4minutesagoUp4minutes0.0.0.0:8081->80/tcpsuspicious_hypatia c0462d5e1878docker.io/nginx"nginx-g'daemonoff"AboutanhouragoUp8minutes0.0.0.0:8080->80/tcpangry_mccarthy [root@localhostmy.Shells]#dockerstop1fd8a0b5d138//停下8081 1fd8a0b5d138 [root@localhostmy.Shells]#dockerps//就剩8080还在运行 CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES c0462d5e1878docker.io/nginx"nginx-g'daemonoff"AboutanhouragoUp9minutes0.0.0.0:8080->80/tcpangry_mccarthy [root@localhostmy.Shells]#dockerps-a//可以看到8080在运行,8081已经Exited CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 1fd8a0b5d138docker.io/nginx"nginx-g'daemonoff"5minutesagoExited(0)7secondsagosuspicious_hypatia c0462d5e1878docker.io/nginx"nginx-g'daemonoff"AboutanhouragoUp9minutes0.0.0.0:8080->80/tcpangry_mccarthy [root@localhostmy.Shells]# [root@localhostmy.Shells]#dockerrm1fd8a0b5d138//移除这个进程进行了,注意运作着的进程是无法rm的,要先stop 1fd8a0b5d138这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)