docker部署nginx
2018-01-23 21:27
531 查看
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.7MB
2.运行
[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_mccarthy
3.运行结果
[root@localhostmy.Shells]#./openFirewallPort.sh//先在防火墙上开一个端口 entertheport: 8080 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而已,nginx按照linux默认路径安装。比如 root@c0462d5e1878:/usr/share/nginx/html#ls这个路径就是默认的静态页面存放路径 50x.htmlindex.html bash命令都一样,但是vi在我机器上是不能用的,但可以使用cp、mv等命令,因为nginx都是配置好的,不能乱改。 1)可以通过在还未登录nignx容器前,把需要的文件写好,然后复制到指定目录下: [root@localhostmy.Shells]#dockercphello.htmlc0462d5e1878://usr/share/nginx/html [root@localhostmy.Shells]#dockerexec-itc0462d5e1878bash root@c0462d5e1878:/usr/share/nginx/html#ls 50x.htmlhello.htmlindex.html 2)
2)通过主机目录映射到容器
dockerrun-p80:80-d-v$PWD/html:usr/share/nginx/htmldocker.io/nginx
-v$PWD/html:usr/share/nginx/html表示把当前路径下html目录映射为usr/share/nginx/html
也就是说主机下的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
CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
5.重启服务
[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_mccarthy
6.再开启一个相同的服务
[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
相关文章推荐
- Docker部署nginx并修改配置文件
- Docker部署WordPress LNMP(Nginx PHP MySQL)环境实践
- 利用nginx docker 镜像 部署静态页面
- marathon部署docker的nginx镜像失败,容器一直提示Exit(0)解决方法
- linux+docker+nginx+tomcat部署web项目
- Docker学习笔记 - Docker部署nginx网站
- 在docker中构建nginx服务(部署)
- Docker部署WordPress LNMP(Nginx PHP MySQL)环境实践
- Docker部署WordPress LNMP(Nginx PHP MySQL)环境实践
- Docker部署WordPress LNMP(Nginx PHP MySQL)环境实践
- docker部署mysql,nginx
- 使用Docker快速部署ELK分析Nginx日志实践(二)
- Docker部署WordPress LNMP(Nginx PHP MySQL)环境实践
- [整理]docker学习之使用jenkins容器部署git上的web到nginx容器中
- Docker Compose部署 nginx代理Tomcat集群
- docker 部署简单nginx服务器
- 在centos docker中利用nginx部署静态网站
- 阿里云 + Docker, 0基础5分钟裸机部署你的个人官网, Nginx + WordPress + MySQL + phpMyAdmin + Ruby + Clojure, 全站解决方案之敏捷双翅
- Docker部署WordPress LNMP(Nginx PHP MySQL)环境实践
- docker 部署nginx