Docker安装运行Nginx
关于Docker运行Nginx的文章层出不穷,鄙人推荐http://www.runoob.com/docker/docker-install-nginx.html这篇文章中介绍的两种方法。在这里,我着重介绍下第二种方法吧,直接从docker Hub上拉取Nginx镜像,供我们使用。
这里,我在虚拟机中安装了CentOS7,然后,安装docker,这一步,就不必详细介绍了。假设,你已经成功安装了docker。我这里安装的版本是1.13.1,API版本1.26,
Client: Version: 1.13.1 API version: 1.26 Package version: <unknown> Go version: go1.8.3 Git commit: 774336d/1.13.1 Built: Wed Mar 7 17:06:16 2018 OS/Arch: linux/amd64 Server: Version: 1.13.1 API version: 1.26 (minimum version 1.12) Package version: <unknown> Go version: go1.8.3 Git commit: 774336d/1.13.1 Built: Wed Mar 7 17:06:16 2018 OS/Arch: linux/amd64 Experimental: false
首先,创建一个目录:
mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf
命令进入nginx目录。
然后,我们通过docker search命令,来检索nginx镜像
docker search nginx INDEX NAME DES CRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/nginx Off icial build of Nginx. 8564 [OK] docker.io docker.io/jwilder/nginx-proxy Aut omated Nginx reverse proxy for docker c... 1335 [OK] docker.io docker.io/richarvey/nginx-php-fpm Con tainer running Nginx + PHP-FPM capable ... 547 [OK] docker.io docker.io/jrcs/letsencrypt-nginx-proxy-companion Let sEncrypt container to use with nginx as... 368 [OK] docker.io docker.io/kong Ope n-source Microservice & API Management ... 188 [OK] docker.io docker.io/webdevops/php-nginx Ngi nx with PHP-FPM 103 [OK] docker.io docker.io/kitematic/hello-world-nginx A l ight-weight nginx container that demons... 99 docker.io docker.io/bitnami/nginx Bit nami nginx Docker Image 52 [OK] docker.io docker.io/zabbix/zabbix-web-nginx-mysql Zab bix frontend based on Nginx web-server ... 51 [OK] docker.io docker.io/1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubu ntu-16-nginx-php-phpmyadmin-mysql-5 35 [OK] docker.io docker.io/linuxserver/nginx An Nginx container, brought to you by Linu... 35 docker.io docker.io/tobi312/rpi-nginx NGI NX on Raspberry Pi / armhf 19 [OK] docker.io docker.io/nginxdemos/nginx-ingress NGI NX Ingress Controller for Kubernetes . ... 11 docker.io docker.io/blacklabelops/nginx Doc kerized Nginx Reverse Proxy Server. 9 [OK] docker.io docker.io/wodby/drupal-nginx Ngi nx for Drupal container image 9 [OK] docker.io docker.io/webdevops/nginx Ngi nx container 8 [OK] docker.io docker.io/centos/nginx-18-centos7 Pla tform for running nginx 1.8 or building... 6 docker.io docker.io/nginxdemos/hello NGI NX webserver that serves a simple page ... 6 [OK] docker.io docker.io/1science/nginx Ngi nx Docker images that include Consul Te... 4 [OK] docker.io docker.io/centos/nginx-112-centos7 Pla tform for running nginx 1.12 or buildin... 3 docker.io docker.io/behance/docker-nginx Pro vides base OS, patches and stable nginx... 2 [OK] docker.io docker.io/pebbletech/nginx-proxy ngi nx-proxy sets up a container running ng... 2 [OK] docker.io docker.io/toccoag/openshift-nginx Ngi nx reverse proxy for Nice running on sa... 1 [OK] docker.io docker.io/travix/nginx NGi nx reverse proxy 1 [OK] docker.io docker.io/mailu/nginx Mai
然后,通过docker pull命令,从远程拉取nginx镜像,命令如下:
docker pull nginx
拉取成功后,我们可以通过docker images命令,查看镜像:
[root@localhost nginx]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/nginx latest ae513a47849c 4 weeks ago 109 MB
然后,通过docker run命令启动容器,运行镜像:
[root@localhost nginx]# docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf --privileged=true -v $PWD/logs:/www/logs -v $PWD/html:/etc/nginx/html -d nginx
这里,-v $PWD/www:/www把主机当前目录下的www目录绑定到了docker中www目录。需要注意的是,
由于docker容器需要对nginx.conf的访问权限,因此,绑定nginx.conf文件时,后面添加--privileged=true命令。
通过docker ps命令,查看容器运行状况
[root@localhost nginx]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5b3e68a0d311 nginx "nginx -g 'daemon ..." 26 minutes ago Up 26 minutes 0.0.0.0:80->80/tcp mynginx
也可以通过,docker ps -a查看所有容器,包括已经退出的容器。
经过以上步骤,nginx镜像已经成功在docker容器中运行,接下来,我们通过访问http://localhost来验证,正常情况下:
这样,我们的nginx已经启动成功了。
注意事项:
1、如果出现运行容器后,docker ps没有发现容器进程,说明容器启动过程发生错误闪退,可以通过docker ps -a看到闪退的容器,然后,通过docker logs 容器名或容器ID来查看docker日志,里面记录了容器启动发生错误的原因,找到问题所在,就好办了。
这个过程中,还会经常用到docker rm移除容器的命令,docker logs 查看容器日志,docker stop/start/restart等停止/启动/重启命令。
由此,docker中运行NGINX的过程就完成了,一回生,二回熟,nginx的配置到启动,只需要秒秒钟。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云突发性实例与通用型实例区别
突发性实例 突发性能实例规格族 t5 规格族特点 处理器:2.5 GHz主频的Intel Xeon 处理器 搭配DDR4内存 多种处理器和内存配比 可突然提速的vCPU,持续基本性能,受到vCPU积分的限制 计算、内存和网络资源的平衡 仅支持专有网络VPC 适用场景: Web应用服务器 轻负载应用、微服务 开发测试压测服务应用 规格 vCPU* 内存(GiB) CPU积分/小时 最大CPU积分余额 平均基准CPU计算性能 弹性网卡(包括一块主网卡) ecs.t5-lc2m1.nano 1 0.5 6 144 10% 1 ecs.t5-lc1m1.small 1 1.0 6 144 10% 1 ecs.t5-lc1m2.small 1 2.0 6 144 10% 1 ecs.t5-lc1m2.large 2 4.0 12 288 10% 1 ecs.t5-lc1m4.large 2 8.0 12 288 10% 1 ecs.t5-c1m1.large 2 2.0 18 432 15% 1 ecs.t5-c1m2.large 2 4.0 18 432 15% 1 ecs.t5-c1m4....
- 下一篇
Memcached配置失误引发的Keystone token丢失的问题
故障现象 近期公司的OpenStack上频繁出现虚拟机创建失败的情况,查看日志定位到问题出在neutron-server向keystone认证token失败。 故障原因 Keystone所使用的Memcahed token后端配置的可用内存大小为64MB,新集群加入后,token量逐渐增加,需要保存的数据量大于这个大小,导致memcached频繁清理未过期的以腾出空间存储新创建的token,继而出现token丢的情况。 处理方法 给memcached分配更多的可用内存空间,目前分配4GB。 排查过程 在出现虚拟机创建失败情况时,查看日志,发现都是在nova-compute访问neutron-server去创建port时,neutron-server向keystone验证token报错: 查看代码梳理一遍认证流程: 1. nova-compute会保存一个全局的token,用这个token去访问neutron-server。每次访问前,检查token是否快要到期,判断标准是120秒,在nova代码里硬编码,也就是每次请求发现token剩余有效时间小于120秒,就重新申请一个toke...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果