阿里云CentOS7.3服务器通过Docker安装Nginx

前言

小编环境:

  1. 阿里云CentOS7.3服务器
  2. docker

下面分享一次小编在自己的阿里云CentOS7.3服务器上使用Docker来安装Nginx的一次全过程

温馨小提示:
如果只是希望单纯使用docker安装nginx能跑静态资源项目不管一些配置文件所放位置的话,可直接执行如下2条命令即可
1. docker pull nginx # 拉取nginx镜像
2. docker run -d -p 80:80 --name nginx  nginx #运行nginx
然后浏览器输入访问地址测试:         http://ip地址:端口/
在这里插入图片描述

一、拉取nginx镜像

docker pull nginx

二、创建宿主机目录nginx -> 用于挂载下面在容器中找到的配置文件

温馨小提示:
-p:保证目录名称存在,如果不存在则重新创建一个
html: 映射容器中的静态资源目录
logs: 日志文件目录
conf: 配置文件目录
conf.d: 配置文件子目录

mkdir -p /IT_zhengqing/soft/nginx/html /IT_zhengqing/soft/nginx/logs /IT_zhengqing/soft/nginx/conf /IT_zhengqing/soft/nginx/conf/conf.d

三、找到nginx镜像容器里面的配置文件、日志文件等位置

-> 目的:运行启动nginx时,将宿主机中的配置文件映射到容器中的配置文件(将nginx容器中的配置文件挂载到宿主机上)
-> 即nginx启动后,使用的是宿主机中的配置

(1)以交互模式启动nginx容器,并在容器内执行/bin/bash命令 -> 进入到nginx容器中

docker run -it --name nginx -p 81:80 nginx:latest /bin/bash

(2)找到容器中需要的配置文件位置

①nginx.conf配置文件路径: /etc/nginx/nginx.conf

cd /etc/nginx/
ls -l 

②default.conf配置文件路径: /etc/nginx/conf.d/default.conf

conf.d:为子目录,容器走完nginx.conf配置文件后,会走conf.d子目录下的配置文件

cd /etc/nginx/conf.d/ 

③存放静态资源文件夹html路径: /usr/share/nginx/html

cd /usr/share/nginx/ 

④日志文件路径: /var/log/nginx

cd /var/log/nginx

(3)最后按Ctrl+P+Q快捷键或输入exit命令退出容器终端~

 exit

四、拷贝容器内nginx默认配置文件到宿主机中,容器名或容器ID:执行docker ps命令查看

docker cp fb5de6e5638d:/etc/nginx/nginx.conf /IT_zhengqing/soft/nginx/conf
docker cp fb5de6e5638d:/etc/nginx/conf.d/default.conf /IT_zhengqing/soft/nginx/conf/conf.d

温馨小提示:
从容器中拷贝文件到宿主机中: docker cp 容器名或容器ID:容器中要拷贝的文件所在路径 要拷贝到宿主机中的对应路径
从宿主机中拷贝文件到容器中: docker cp 宿主机中要拷贝的文件路径 容器名或容器ID:要拷贝到容器中的对应路径

五、部署nginx

温馨小提示:
上面在容器中找配置文件以交互模式启动的nginx容器如果端口和下面要使用的端口冲突的话,需要停止相应进程、容器运行哦!!!
检查端口被哪个进程占用: netstat -lnp|grep 端口号
杀掉进程【ex:强制杀掉编号为10001的进程】:kill -9 10001
停止以启动的容器: docker stop nginx
删除容器: docker rm -f nginx
然后执行docker ps查看运行的容器,如果成功删除端口会冲突的容器,再部署,走下面的流程!!!

执行如下命令部署 -> 启动运行nginx容器

docker run -d -p 81:80 --name nginx -v /IT_zhengqing/soft/nginx/html:/usr/share/nginx/html -v /IT_zhengqing/soft/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /IT_zhengqing/soft/nginx/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /IT_zhengqing/soft/nginx/logs:/var/log/nginx nginx

-d: 以后台模式启动容器 -> 后台运行该容器
-p 81:80: 将容器的 80 端口映射到宿主机的 81 端口 注:部分服务器需要手动去放行端口哦
--name nginx: 将容器命名为nginx
-v /IT_zhengqing/soft/nginx/html:/usr/share/nginx/html: 将宿主机中创建的 html 目录挂载到容器的 /usr/share/nginx/html 目录
注意一定要找到容器中配置文件所在的准确路径,否则这里运行会报错!

六、测试访问

(1)到宿主机 /IT_zhengqing/soft/nginx/html 目录下创建 index.html 静态资源

cd /IT_zhengqing/soft/nginx/html

touch index.html # 创建文件

echo '<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>nginx容器运行中...</title>
</head>
<body>
    <h1> Hello World </h1>
    <p> If I were you. </p>
</body>
</html>' > index.html          # echo:如果没有这个文件则创建。如果有这个文件,那么新内容将会代替原来的内容。

这里也可以使用vi编辑器创建文件,命令如下:

vi index.html  # 然后按i插入 , 之后输入内容,按Esc退出编辑模式,切换到英文输入法按shift + : 再输入 wq 退出并保存
最后通过 cat index.html 命令查看文件内容
在这里插入图片描述

小编这里说下使用vi命令和echo命令去创建文件写入内容的区别:
在部署nginx运行时如果没有设置只读的情况下,
(只读是挂载目录时后面加上:ro 如:-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro)

echo 命令 -> 修改内容,宿主机和容器配置文件都会改变;
vi 命令 -> 修改内容,宿主机和容器配置互不影响。

(2)浏览器输入 http://ip:端口/ 访问测试

在这里插入图片描述
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容

  • Docker是一种容器技术,它的存在就是为了解决容器技术本身的复杂性。Docker容器拥有很高的性能,同时同一台宿...
    四条眉毛陆小鸡阅读 555评论 0 0
  • Docker安装请参考:【Linux下安装Docker CE[https://www.jianshu.com/p/...
    Jiandev阅读 3,138评论 0 1
  • 引言 这段时候主攻云服务 服务器 CentOS 文件目录 操作 基本操作: Docker简介: 安装Docker:...
    采香行处蹙连钱阅读 1,182评论 0 1
  • 旅行?活着就是旅行,从一天到另外一天,从昨天到今天,从今天到明天。
    瑶燕子1991阅读 224评论 0 1
  • 我该如何为这本充满哲思的书做个总结呢?它几乎包含了人生所有的奥秘。《悉达多》是德国作家——赫尔曼·黑塞写的一...
    竹林物语阅读 466评论 0 0