docker上启动nginx,并配置修改nginx的配置文件

1.使用docker 下载nginx 镜像  docker pull nginx

2.启动nginx

docker run --name nginx -p 80:80 -d nginx

这样就简单的把nginx启动了,但是我们想要改变配置文件nginx.conf ,进入容器,命令:

docker exec -it nginx bash

nginx.conf配置文件在 /etc/nginx/  下面,但是你使用vim nginx.conf 或者vi nginx.conf

会发现vi或者vim命令没有用,解决办法:apt-get  update  完成之后 apt-get install vim

此时你就可以自己定制nginx.con文件了,改好配置文件之后重启容器,步骤,先把容器停了

docker stop nginx  然后重启 docker start nginx

这样不是很方便,还有第二种方式,挂载配置文件,就是把装有docker宿主机上面的nginx.conf配置文件映射到启动的nginx容器里面,这需要你首先准备好nginx.con配置文件,如果你应经准备好了,下一步是启动nginx

命令:docker run --name nginx -p 80:80 -v /home/docker-nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/docker-nginx/log:/var/log/nginx -v /home/docker-nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -d nginx

解释下上面的命令:

--name  给你启动的容器起个名字,以后可以使用这个名字启动或者停止容器

-p 映射端口,将docker宿主机的80端口和容器的80端口进行绑定

-v 挂载文件用的,第一个-v 表示将你本地的nginx.conf覆盖你要起启动的容器的nginx.conf文件,第二个表示将日志文件进行挂载,就是把nginx服务器的日志写到你docker宿主机的/home/docker-nginx/log/下面

第三个-v 表示的和第一个-v意思一样的。

-d 表示启动的是哪个镜像

我个人更喜欢第二种映射的方式,麻烦的是需要自己准备好nginx.conf 和default.conf文件,我是直接从容器里面复制的,然后根据自己的需要改的

有问题,欢迎留言交流。

原文地址:https://www.cnblogs.com/zfding/p/11429695.html

时间: 2024-10-09 05:52:55

docker上启动nginx,并配置修改nginx的配置文件的相关文章

Docker MySQL 启动和binlog配置修改

docker run -d --name mysql -p 3306:3306 --restart=always \ --privileged=tru -e MYSQL_ROOT_PASSWORD=root -v /home/mysql/data/:/var/lib/mysql/ \ -v/home/mysql/config/:/etc/mysql/mysql.conf.d --character-set-server=utf8mb4 --collation-server=utf8mb4_uni

Nginx缓存配置以及nginx ngx_cache_purge模块的使用

web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存服务器直接输出内容给客户端,而不是向源服务器再次发送请求.Web缓存降低了内容源Web服务器,数据库的负载,减少了网络延迟,提高了用户访问的响应速度,增强了用户体验. web缓存服务器中,最著名的要数Squid Cache(简称为Squid),Squid是一个流浪的自由软件的代理服务器和Web缓存服务器.---

在docker上启动elasticsearch

docker run -p 9200:9200 -e "discovery.type=single-node" elasticsearch:7.0.0 原文地址:https://www.cnblogs.com/kekemuyu/p/10765690.html

Consul+Registrator+Consul-template实现动态修改nginx配置文件

实现需求 用nginx做负载均衡,手动的方式是在upstream中添加或删除后端服务器,比较麻烦. 通过Registrator收集需要注册到Consul作为Nginx后端服务器信息然后注册到Consul key/value.Consul-template去Consul key/value中读取信息,然后自动修改Nginx配置文件并平滑重启Nginx.不需要修改nginx.conf 环境 192.168.0.149 Mesos-master Zookeeper Consul-server Cons

VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)

首先启动Nginx 1. 转到 nginx 目录: /usr/local/nginx; 启动 nginx: /usr/local/nginx/nginx ubuntu 前要加 sudo; 关健配置 http 配置块下,一般设置在 zgip on 下: upstream localhost { #绿色对应 #ip_hash; server localhost:8090; server localhost:8080; } server / { location / { proxy_connect_t

Nginx 基本配置

Nginx 的配置系统 Nginx 的配置系统由一个主配置文件和其他一些辅助的配置文件构成.这些配置文件均是纯文本文件,全部位于Nginx 安装目录下的 conf 目录下. 配置文件中以#开始的行,或者是前面有若干空格或者 TAB,然后再跟#的行,都被认为是注释,也就是只对编辑查看文件的用户有意义,程序在读取这些注释行的时候,其实际的内容是被忽略的. 由于除主配置文件 nginx.conf 以外的文件都是在某些情况下才使用的,而只有主配置文件是在任何情况下都被使用的.所以在这里我们就以主配置文件

centos6.5 nginx php配置

1:yum安装php和与之相关的软件包 yum install gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel php php-fpm 2:nginx安装参见之前写的nginx的安装 3:修改nginx配置让它支持php-fp

Nginx(二) Nginx主机配置、日志分割、日志自动备份

Nginx主机配置.日志分割.日志自动备份 一 主机配置以及按主机分割日志文件 1.在目录/usr/local/nginx/conf下 修改nginx.conf文件的server节点,并添加一个新的server节点 2.因为使用了Nginx默认的全局日志格式(main),这个日志格式默认是注释掉的,需要再nginx.conf中放开. 3.创建www.solr.com以及www.hadoop.com两个主机欢迎页面根节点文件夹以及文件. 切换到Nginx的安装目录下,复制Nginx默认的欢迎页面根

docker上配置mysql主从复制

1.在docker上启动2台mysql容器:(这里3306为主,3307为从) docker run -d  -e MYSQL_ROOT_PASSWORD=123456  -p 3306:3306 --name 镜像id 2.配置主的mysql: 1)进入主容器: docker exec -it 主容器ID  /bin/bash cd etc/mysql/ 2)安装vim命令 apt-get update apt-get install vim 3)编辑my.cnf,在结尾添加:3行(vim m