docker 运行 php nginx_使用docker运行nginx
方法一、通过 Dockerfile构建
创建Dockerfile
首先,创建目录nginx,用于存放后面的相关东西。
runoob@runoob:~$ mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf
www目录将映射为nginx容器配置的虚拟目录
logs目录将映射为nginx容器的日志目录
conf目录里的配置文件将映射为nginx容器的配置文件
进入创建的nginx目录,创建Dockerfile
FROM debian:jessieMAINTAINER NGINX Docker Maintainers "docker-maint@nginx.com"ENV NGINX_VERSION 1.10.1-1~jessieRUN apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 \&& echo "deb http://nginx.org/packages/debian/ jessie nginx" >> /etc/apt/sources.list \&& apt-get update \&& apt-get install --no-install-recommends --no-install-suggests -y \ca-certificates \nginx=${NGINX_VERSION} \nginx-module-xslt \nginx-module-geoip \nginx-module-image-filter \nginx-module-perl \nginx-module-njs \gettext-base \&& rm -rf /var/lib/apt/lists/*# forward request and error logs to docker log collector
RUN ln -sf /dev/stdout /var/log/nginx/access.log \&& ln -sf /dev/stderr /var/log/nginx/error.logEXPOSE 80 443CMD ["nginx", "-g", "daemon off;"]
通过Dockerfile创建一个镜像,替换成你自己的名字
docker build -t nginx .
创建完成后,我们可以在本地的镜像列表里查找到刚刚创建的镜像
runoob@runoob:~/nginx$ docker images nginx
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 555bbd91e13c 3 days ago 182.8 MB
方法二、docker pull nginx
查找Docker Hub上的nginx镜像
runoob@runoob:~/nginx$ docker search nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 3260 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker c... 674 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... 207 [OK]
million12/nginx-php Nginx + PHP-FPM 5.5, 5.6, 7.0 (NG), CentOS... 67 [OK]
maxexcloo/nginx-php Docker framework container with Nginx and ... 57 [OK]
webdevops/php-nginx Nginx with PHP-FPM 39 [OK]
h3nrik/nginx-ldap NGINX web server with LDAP/AD, SSL and pro... 27 [OK]
bitnami/nginx Bitnami nginx Docker Image 19 [OK]
maxexcloo/nginx Docker framework container with Nginx inst... 7 [OK]
...
这里我们拉取官方的镜像
runoob@runoob:~/nginx$ docker pull nginx
等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为nginx的镜像。使用nginx镜像
运行容器
runoob@runoob:~/nginx$ docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs -d nginx
45c89fab0bf9ad643bc7ab571f3ccd65379b844498f54a7c8a4e7ca1dc3a2c1e
runoob@runoob:~/nginx$
命令说明:
-p 80:80:将容器的80端口映射到主机的80端口
–name mynginx:将容器命名为mynginx
-v $PWD/www:/www:将主机中当前目录下的www挂载到容器的/www
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机中当前目录下的nginx.conf挂载到容器的/etc/nginx/nginx.conf
-v $PWD/logs:/wwwlogs:将主机中当前目录下的logs挂载到容器的/wwwlogs
查看容器启动情况
runoob@runoob:~/nginx$ docker ps
CONTAINER ID IMAGE COMMAND PORTS NAMES
45c89fab0bf9 nginx "nginx -g 'daemon off" ... 0.0.0.0:80->80/tcp, 443/tcp mynginx
f2fa96138d71 tomcat "catalina.sh run" ... 0.0.0.0:81->8080/tcp tomcat
通过浏览器访问
docker 运行 php nginx_使用docker运行nginx相关推荐
- Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
在编辑Dockerfile过程中参考了以下相关范例:https://hub.docker.com/_/php/.https://hub.docker.com/_/mysql/.https://hub. ...
- docker 启动成功但无法访问_docker nginx 运行后无法访问的问题解决
## 1 最近在学docker部署,一开始打算将nginx先docker化的. 对照官方的docker镜像介绍说明,进行自定义配置 将官方的nginx.conf复制出来后,修改添加了一些自定义,主要是 ...
- centos 访问网页重启php_php项目上线基于docker运行php+源码编译实现Nginx+阿里云RDS连接实现...
项目背景: 公司项目上线要求运维把上线工作做好,并实现稳定性运行,活不多说,干! 环境要求: CentOS Linux release 7.2.1511 (Core) docker 版本:19.03. ...
- Docker(3):docker运行nginx实例以及在java容器中运行java程序
一.目的 通过运行nginx可以充分理解运行镜像原理,以及镜像内部虚拟网络端口和服务器端口的桥接关系.同时,使用java容器,编译java文件,并且运行java程序. 二.docker运行nginx镜 ...
- .NET遇上Docker - 使用Docker Compose组织Ngnix和.NETCore运行
本文工具准备: Docker for Windows Visual Studio 2015 与 Visual Studio Tools for Docker 或 Visual Studio 2017 ...
- Docker——使用docker工具管理软件/组件的运行,镜像、容器、数据卷的基本概念,常用指令,使用docker搭建Java微服务运行环境
Docker--使用docker工具管理软件/组件的运行,镜像.容器.数据卷的基本概念,常用指令,使用docker搭建Java微服务运行环境 一.docker的安装和卸载 1.卸载 2.安装 3. 导 ...
- PPT | Docker定义存储-让应用无痛运行
为什么80%的码农都做不了架构师?>>> 编者注: 本文为9月27日晚上8点有容云平台存储架构师张朝潞在腾讯课堂中演讲的PPT,本次课堂为有容云主办的线上直播Docker Li ...
- 8s 使用本地打包镜像_在Docker环境构建、打包和运行Spring Boot应用
为何考虑采用Docker? Docker是提供用户构建镜像的一种容器化技术,所构建的镜像包含了主要的应用程序和运行应用所需的所有依赖项.该镜像可在任何虚拟机或物理机器上的Docker容器上运行.它的强 ...
- 什么是容器、什么是docker、docker与虚拟机的对比、docker做什么、运行场景,Docker功能和组件,Docker的C/S模式的运行,Docker概念,相关概念
1.什么是容器 简单来说容器是一种内核技术的虚拟化体现(Cgroup和Namespace),容器可以在核心CPU上运行本地指令,有效的将单个操作系统进行分组管理和隔离. 2.什么是Docker 一种容 ...
- docker ps命令详解 列出运行中的容器
docker ps命令详解 列出运行中的容器 使用docker ps命令即可列出运行中的容器,执行该命令后,会出现如下7列表格 CONTAINER_ID 表示容器ID IMAGE ...
最新文章
- 到今天了,今天又结束了
- Google Chrome浏览器必备的20个插件
- StratifiedShuffleSplit 交叉验证
- [置顶] 显示/隐藏登录密码
- 震惊,用了这么多年的 CPU 利用率,其实是错的
- HDFS的NameNode内存解析
- Redis数据结构——简单动态字符串-SDS
- 圆环和环形是一样的吗_Excel不知道还可以这样做圆环图
- 转:NAT traversal 的概念
- L2-015 互评成绩(排序)
- 洛谷P3378 【模板】堆
- python中字符串怎么引用_如何在字符串中引用函数参数
- nyoj 628 小媛在努力= =(水)
- word中插入高分辨率图片,并且保存为PDF图片仍然高清的方法
- kali2020 中文乱码问题
- 安信可nbiot模块_安信可wifi模块
- 处理C盘容量不足问题(以AppData为例)
- linux b类地址设24位掩码,LINUX中的网络配置
- 记录一次Tx_LCN连接失败的问题( There is no normal TM )
- linux下解压war格式的包