Docker部署Nginx并修改配置文件的两种方式

目录
  • 一.创建容器
  • 二.修改配置文件
    • 1. 进入容器内部修改配置文件
    • 2.容器加载外部配置文件
  • 总结

一.创建容器

# 搜索Nginx镜像
docker search nginx
# 拉取Nginx镜像
docker pull nginx
# 查看镜像名为nginx的镜像
docker images nginx
# 运行镜像,生成容器
# 命令解读:
# -d:以后台守护线程运行
# --name:容器命名
# -p 80:80 : 映射端口,容器内部80端口映射到服务器80端口
# nginx :指定的镜像(可以通过docker images 查看)
docker run -d --name nginx -p 80:80 nginx(镜像ID或者镜像名字都可以)
# 查看容器
docker ps

二.修改配置文件

1. 进入容器内部修改配置文件

	# 进入容器内部
	docker exex -it nginx  /bin/bash
	# 直接修改配置
	vim /etc/nginx/nginx.conf

肯定有些童鞋想问,那么上面的配置文件路径是如何得知的?

通过文件查找命令查(按照名称模糊全局查找文件)

find / -name 'nginx.conf'

因为容器与外界是完全隔离的,使用vim命令请先安装vim

	apt-get update
	apt-get install -y vim

修改完配置,重新加载Nginx

docker exec -it nginx nginx -s reload

2.容器加载外部配置文件

在外部创建文件夹(用于存放Nginx配置文件)

	mkdir -p /home/usr/local/docker-config/nginx/conf
	mkdir -p /home/usr/local/docker-config/nginx/conf.d
	mkdir -p /home/usr/local/docker-config/nginx/html
	mkdir -p /home/usr/local/docker-config/nginx/logs

将容器的配置文件 复制到 创建好的文件夹中(第1步)

	docker cp nginx:/etc/nginx/nginx.conf /home/usr/local/docker-config/nginx/
	docker cp nginx:/etc/nginx/conf.d /home/usr/local/docker-config/nginx/conf/
	docker cp nginx:/usr/share/nginx/html/ /home/usr/local/docker-config/nginx/html/
	docker cp nginx:/var/log/nginx/ /home/usr/local/docker-config/nginx/logs/

修改配置文件

vim /home/usr/local/docker-config/nginx/conf/nginx.conf

删除容器、镜像

docker psdocker rm -vf nginxdocker imagesdocker rmi nginx

运行容器(容器使用外部配置文件)

	docker run -d --name nginx -p 80:80 -v /home/usr/local/docker-config/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/usr/local/docker-config/nginx/logs:/var/log/nginx -v /home/usr/local/docker-config/nginx/html:/usr/share/nginx/html -v /home/usr/local/docker-config/nginx/conf:/etc/nginx/conf.d -e TZ=Asia/Shanghai --privileged=true nginx

备注:

以上修改配置文件都是基于nginx.conf,也可以修改conf.d/default.conf

关于这两者的关系,在这里也解释下:

两者都是nginx的配置文件,nginx.conf为主配置。

nginx.conf 文件的最后一行为include /etc/nginx/conf.d/*.conf,所以default.conf里的配置也会起作用。

总结

到此这篇关于Docker部署Nginx并修改配置文件的两种方式的文章就介绍到这了,更多相关Docker部署Nginx修改配置文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • nginx在docker容器中自动生成配置文件

    公司在搭建docker自动化部署时,需要制作一个nginx镜像在其docker run时通过外部指定环境变量使得容器中的配置文件自动生成,不需要再到容器里改配置文件. 实现思路 最后运行的命令大概是这样: docker run -d -p 80:80 -e xxx=xx 镜像名称 镜像中脚本路径 这里的脚本会代替dockerfile中的CMD指令,所以我们要构建一个自动生成且启动nginx的shell脚本. #!/bin/bash #从环境变量里面获取lt开头,为了与其他环境变量区别开,例如lt

  • Docker部署nginx并修改配置文件的实现方法

    docker 部署个nginx,简直太简单了好吧 直接一行命令搞定: docker run \ --name nginx-health-web-pc \ -d -p 6800:80 \ -v /usr/docker/nginx/html:/usr/share/nginx/html \ nginx 运行启动不亦乐乎~~~~~这时候忽然前端过来说:"你的nginx里得加一个配置",顺带还告诉你:"某某某以前就是这样配的", 此时好胜的你当然不能拒绝,但是真正配置起来还是

  • php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式

    先给大家介绍下php 与 nginx 的两种处理方式,具体内容如下所示: 1.IP:Port 监听方式 php-fpm docker pull PHP:2.4-alpine nginx.conf fastcgi_pass 127.0.0.1:9000; php-fpm 在容器里的 nginx.conf location /php { proxy_set_header Host $host:$server_port; proxy_pass http://138.38.38.111:80/; } 2

  • Docker中数据卷(volume)管理的两种方式

    上篇文章给大家介绍过 docker基础知识之挂载本地目录的方法 ,今天给大家介绍Docker中数据卷(volume)管理的两种方式,具体内容如下所示: 什么是数据卷 数据卷( volume ):volume是存在于一个或多个容器中的特定文件或文件夹,这个目录以独立于联合文件系统的形式在宿主机中存在,并为数据的共享与持久化提供便利. 为什么要用数据卷 Docker分层文件系统存在的问题: Docker的镜像是由一系列的只读层组合而来的,当启动一个容器时, Docker加载镜像的所有只读层,并在最上

  • Nginx实现会话保持的两种方式

    目录 前言 一.基于ip_hash的会话保持 二.基于cookie的会话保持 总结 前言 在我们做Nginx负载均衡的时候经常会遇到会话保持的问题,为了保证同一用户session会被分配到同一台服务器上,这时就需要会话保持,我们常用的方法有基于ip_hash的会话保持.基于cookie的会话保持. 一.基于ip_hash的会话保持 在做Nginx的负载均衡时,可以在upstream里设置ip_hash,每个请求按访问ip的hash结果分配,映射到固定某一台的服务器,当后端服务器宕机后,sessi

  • Linux通过Shell脚本命令修改密码的两种方式

    交互方式修改密码 1. ssh 远程到主机: 2. 切换到root账号: [一般都是切换到root进行密码修改,如果普通用户修改自己的密码,要输入原密码,然后新密码要满足复杂度才OK]: 3. passwd username 使用passwd username 修改 username 的密码: 使用该命令会有提示,即进入了交互界面,输入密码即可. 使用脚本修改密码 很多时候我们可能需要远程执行服务器上的脚本来修改账号密码,此时就没有办法进行交互了. 此时可以使用如下两种方式修改密码: 方式1:

  • springboot项目部署在linux上运行的两种方式小结

    springboot部署项目在linux的两种方式 可以选择 war包方式或者jar包方式(个人推荐使用jar方式) 1.springboot的jar包方式 因为idea默认就是jar打包方式所以直接使用maven工具按照步骤点击就可以直接打包 打包之前别忘了修改好你的配置文件,别到时候端口号冲突启动不了(多个同样的端口号),假如要使用linux上的数据库也要提前修改好密码 然后控制台就会输出执行过程,不用管,最后结束了就会这如图红框处找到输出路径. 找到这个文件把他扔到你的linux虚拟机里,

  • 详解Spring-boot中读取config配置文件的两种方式

    了解过spring-Boot这个技术的,应该知道Spring-Boot的核心配置文件application.properties,当然也可以通过注解自定义配置文件的信息. Spring-Boot读取配置文件的方式: 一.读取核心配置文件信息application.properties的内容 核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单. 核心配置文件applicati

  • mybatis 加载配置文件的方法(两种方式)

    一. 使用sqlSessionFactory 的 mapperLocations 进行加载, <!-- SessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" scope="singleton"> <property name="dataSource" ref=

  • Spring加载properties文件的两种方式实例详解

    在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可,不需要修改源代码,这样更加方便.在Spring中也可以这么做,而且Spring有两种加载properties文件的方式:基于xml方式和基于注解方式.下面分别讨论下这两种方式. 1. 通过xml方式加载properties文件 我们以Spring实例化dataSource为例,我们一般会在beans

  • 详解@angular/cli 改变默认启动端口两种方式

    因为本地希望开启两个项目,由于@angular/cli 生成项目默认是: 4200; 那么肯定会有端口冲突问题; 修改端口的两种方式: 1 修改 schema.json node_modules\@angular-devkit\build-angular\src\dev-server\schema.json { "title": "Dev Server Target", "description": "Dev Server target

随机推荐

其他