Docker 中如何安装配置 Nginx
拉取 nginx 最新版镜像,然后简单启动一个 nginx 容器:
docker pull nginx:latest
docker run --name nginx01 -d -p 80:80 nginx
这样就安装并运行好了 nginx,可以使用浏览器访问 ip 地址即可看到 nginx 服务。
如果要对 nginx 进行配置,就需要通过交互模式进入容器:
docker exec -it nginx01 bash
在容器内部就可以访问到完整的 nginx 程序文件,可以找到:
html文件目录:/usr/share/nginx/html
nginx.conf 配置文件:/etc/nginx/nginx.conf
default.conf 配置文件:/etc/nginx/conf.d/default.conf
log日志文件目录:/var/log/nginx
ssl配置目录:/ssl
每一次都要进入容器内部去编辑配置文件有些不方便,而且还需要在容器内部安装 vi 或 vim,所以最好将容器与主机磁盘进行挂载。
挂载之前,我们在主机上创建好 nginx 文件目录:
sudo mkdir -p /home/docker/nginx/{log,ssl,html,conf/conf.d}
sudo chmod -R 755 /home/docker/nginx/html
然后通过 docker cp 命令将容器内的 nginx 配置文件 copy 到刚创建的主机文件目录中:
docker cp nginx01:/etc/nginx/nginx.conf /home/docker/nginx/conf/nginx.conf
docker cp nginx01:/etc/nginx/conf.d/default.conf /home/docker/nginx/conf/conf.d/default.conf
接着,我们停止并删除 nginx01 容器:
docker stop nginx01
docker rm nginx01
好了,我们要重新启动一个 nginx 容器了:
docker run --name nginx02 -d
--restart=always
--privileged=true
-v /home/docker/nginx/html:/usr/share/nginx/html
-v /home/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
-v /home/docker/nginx/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf
-v /home/docker/nginx/log:/var/log/nginx
-v /home/docker/nginx/ssl:/ssl/
-p 443:443 -p 80:80
nginx
使用 --privileged=true 参数,容器内的 root 用户才拥有真正的 root 权限,否则容器内的 root 只是主机上的一个普通用户。
使用 -v path1:path2 参数,其中 path1 是主机的磁盘地址,path2 是 docker 容器的虚拟磁盘地址,可以定义多个 -v 映射多个文件夹。
最后,通过 docker ps 命令查看 nginx 容器是否已成功运行。
通常,我们在 nginx 中部署项目的时候,都喜欢在 conf.d/ 目录下创建新的配置文件(如:xxx.conf),但在 docker 中,你需要注意新建的 xxx.conf 文件是否被成功映射,否则可能就无法被 nginx 正常读取到,也就无法生效。
一个简单的记录,希望有所帮助!
Docker 中如何安装配置 Nginx的更多相关文章
- (转)windows 下安装配置 Nginx 详解
windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...
- Angularjs学习---ubuntu12.04中karma安装配置
Angularjs学习---ubuntu12.04中karma安装配置中常见的问题总结 karma启动时出现了很多问题: 1.安装karma前提条件 安装karma首先要安装nodejs,npm然 ...
- ELK 6安装配置 nginx日志收集 kabana汉化
#ELK 6安装配置 nginx日志收集 kabana汉化 #环境 centos 7.4 ,ELK 6 ,单节点 #服务端 Logstash 收集,过滤 Elasticsearch 存储,索引日志 K ...
- Linux中redis安装配置及使用详解
Linux中redis安装配置及使用详解 一. Redis基本知识 1.Redis 的数据类型 字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈 ...
- Xdebug在PHP中的安装配置
Xdebug在PHP中的安装配置涉及php.ini配置文件的修改. 1 首先需要下载Xdebug,根据安装的PHP版本,选择合适的Xdebug版本, 2 安装Xdebug将下载的php_xdebu ...
- CentOS中安装配置Nginx
一.安装Nginx '首先我们需要在nginx官网中下载nginx安装包,在这就下载最新版 nginx-1.13.7版本 下载完成以后我们进入下载页面进行查看 下载文件目录为 home/userNam ...
- centos中安装配置nginx完成之后主机无法访问
原因 VMware中安装centos7,安装配置完成nginx后,主机无法访问.虚拟机没有放行Nginx默认端口80. 解决办法 首先:开启 web 端口 firewall-cmd --permane ...
- Docker简介与安装配置
目录 Docker简介 什么是Docker 为啥要用容器 Docker Engine Docker架构说明 Docker安装 Docker版本介绍 Ubuntu安装docker-ce CentOS7安 ...
- deepin 15.3 安装配置nginx
1.安装nginx sudo apt-get install nginx 2.配置nginx sudo gedit /etc/nginx/sites-enabled/default 找到:index ...
随机推荐
- mybatis入门四 解决字段名与实体类属性名不相同的冲突
一.创建测试需要使用的表和数据 CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no VARCHAR(20), ...
- IEnumerable和IQueryable在使用时的区别
最近在调研数据库查询时因使用IEnumerable进行Linq to entity的操作,造成数据库访问缓慢.此文讲述的便是IEnumerable和IQueryable的区别. 微软对IEnumera ...
- AOJ 2214: Warp Hall(计数+dp)
题目链接 题意 有一个 \(N × M\) 的二维平面, 平面上有 k 对虫洞, \(N, M ≤ 1e5, k ≤ 1e3\). 每对虫洞具有坐标 \(x_1, y_1, x_2, y_2\), 满 ...
- jQuery数组去重复
例如: var yearArray = new Array("三二一", "三二一", "学历", "学历", &quo ...
- java对象clone
java克隆 为什么需要克隆 我们在很多时候需要使用一个对象去记录另外一个对象的当前状态,对象中可能会有很多属性,如果我们一个一个去设置,不仅不方便,而且效率很低,我们看一个初学者可能遇到的问题 cl ...
- Mysql索引、explain执行计划
1.索引的使用场景 哪些情况使用索引: 1.主键自动建立唯一索引 2.频繁作为查询条件的字段应该创建索引 where 3.多表关联查询中,关联字段应该创建索引on两边都要创建索引 select * f ...
- P1198 [JSOI2008]最大数(线段树基础)
P1198 [JSOI2008]最大数 题目描述 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作. 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值. 限制: ...
- php人民币小写转大写函数,不限长度,精确到分
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://ustb80.blog.51cto.com/6139482/1035327 在打印 ...
- Navicat安装教程
Navicat安装教程 1.下载: 链接:https://pan.baidu.com/s/1uLlstPYrsjaNhZqVu9aFfQ 提取码:393r 2.下载完成之后如图所示: 首先安装第二个, ...
- gdb调试工具常用命令 && kdb
编译程序时需要加上-g,之后才能用gdb进行调试:gcc -g main.c -o main gdb中命令: 回车键:重复上一命令 (gdb)help:查看命令帮助,具体命令查询在gdb中输入help ...