CentOS7.3服务器中怎么通过Docker安装Nginx,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
docker pull 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启动后,使用的是宿主机中的配置
docker run -it --name nginx -p 81:80 nginx:latest /bin/bash
①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
exit
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容器如果端口和下面要使用的端口冲突的话,需要停止相应进程、容器运行哦!!! 检查端口被哪个进程占用: netstat -lnp|grep 端口号 杀掉进程【ex:强制杀掉编号为10001的进程】:kill -9 10001 停止以启动的容器: docker stop nginx 删除容器: docker rm -f nginx 然后执行docker ps查看运行的容器,如果成功删除端口会冲突的容器,再部署,走下面的流程!!!
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 目录 注意一定要找到容器中配置文件所在的准确路径,否则这里运行会报错!
cd /IT_zhengqing/soft/nginx/html touch index.html # 创建文件 echo '<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>nginx容器运行中...</title> </head> <body> <h2> Hello World </h2> <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 命令 -> 修改内容,宿主机和容器配置互不影响。
看完上述内容,你们掌握CentOS7.3服务器中怎么通过Docker安装Nginx的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。