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 ...
随机推荐
- ubuntu 如何在命令行打开当前目录
nautilus /var 打开var文件夹
- Java复合优先于继承
复合优于继承 继承打破了封装性(子类依赖父类中特定功能的实现细节) 合理的使用继承的情况: 在包内使用 父类专门为继承为设计,并且有很好的文档说明,存在is-a关系 只有当子类真正是父类的子类型时,才 ...
- Js,JQuery不同方式绑定的同一事件可以同时触发,互不干扰
比如,onclick绑定,然后jquery.on("click", function(){})绑定等
- IntelliJ IDEA 激活码 [已购买,分享给码友]
一.前言 笔者在网上找了一圈,各种方法都试过了,之前那种在网上随便找个注册码,过了一段时间就被封了,想了想还是经常用的和朋友一起购买了,方便日后使用 二.下载最新的 IDEA 其实也可以从老版本直接升 ...
- 老技术新谈,Java应用监控利器JMX(3)
各位坐稳扶好,我们要开车了.不过在开车之前,我们还是例行回顾一下上期分享的要点. 上期我们深入的聊了聊 JMX,把 JMX 的架构了解了七七八八,最后通过代码实战,解决系列疑问,实现远程动态修改应用参 ...
- 国内 Java 开发者必备的两个装备,你配置上了么?
虽然目前越来越多的国产优秀技术产品走出了国门,但是对于众领域的开发者来说,依然对于国外的各种基础资源依赖还是非常的强.所以,一些网络基本技能一直都是我们需要掌握的,但是速度与稳定性问题一直也都有困扰着 ...
- 1017 Queueing at Bank (25 分)
Suppose a bank has K windows open for service. There is a yellow line in front of the windows which ...
- Linux配置dhcp服务器
一.安装dhcp软件 yum -y install dhcp 二.配置 dhcp 主配置文件 /etc/dhcp/dhcpd.conf ns-update-style interim; log-fac ...
- centos7安装puppet详细教程(简单易懂,小白也可以看懂的教程)
简介: Puppet是一种linux.unix平台的集中配置管理系统,使用ruby语言,可配置文件.用户.cron任务.软件包.系统服务等.Puppet把这些系统实体称之为资源,它的设计目标是简化对这 ...
- BaseRuntimeException自定义业务异常类实现
public class BaseRuntimeException extends RuntimeException { private final int code; public BaseRunt ...