//查看系统版本
lsb_release -a
//输出
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.5.1804 (Core)
Release: 7.5.1804
Codename: Core
##docker 安装及pull镜像不表(具体参考官方文档)
https://docs.docker.com/install/linux/docker-ce/centos/
不熟悉nginx 如何快速配置。强烈建议先看文档
https://hub.docker.com/_/nginx/
坑在这(捂脸)
原因:docker 安装gitlab 导致 服务器ssl被变更 然后服务器死循环 无法登录 没有排查出问题所在 卒 重装
经过:
1.没看清楚文档就开始玩 虽然对nginx如何运行很清楚 但对配置了解的并不是特别清晰 直接映射目录到docker内部 执行。不报错(捂脸 此时一脸懵逼 不显示我的自定义页面)
2.定位问题 修改配置。文件映射内部地址 和 宿主机地址 不匹配 找找官方文档
https://hub.docker.com/_/nginx/
提取出以下目录
-v /host/path/nginx.conf:/etc/nginx/nginx.conf
/etc/nginx/nginx.conf
/etc/nginx/conf.d/mysite.template
/usr/share/nginx/html
此时找到坑了 文件映射目录不对
3.修改配置 重新运行容器
docker 容器创建了 但不执行 啥问题???
联想到可能是nginx.conf 映射文件不对 对比nginx.conf文件 发现 确实两个文件内配置存在误差
两个配置就不上了 写了 发现对于阅读文章体验不好 就删了~
配置区别在这
#upload max file
client_max_body_size 11M;
client_body_buffer_size 128k;
#此处不明白为何会产生无法访问的问题
结果: 最后不映射nginx.conf 解决战斗~
开启443端口和80端口
//输出目录地址
pwd
/root/nginx
//整个结构如下
├── conf //配置文件
│ ├── default.conf
│ └── default.conf.bak
├── html. //默认显示目录
│ └── index.html
├── logs //日志目录
│ ├── access.log
│ └── error.log
├── nginx.conf //祝配置文件
├── ssh
│ ├── certificate.crt //下载pem nginx 证书
│ └── certificate.key //下载pem nginx 证书
docker run --detach \
--name nginxserver \
-p 443:443\
-p 80:80 \
-v /root/nginx/html:/usr/share/nginx/html:rw\
-v /root/nginx/conf/default.conf:/etc/nginx/conf.d/default.conf:rw\
-v /root/nginx/ssh:/ssl/:rw\
-d nginx
--name docker容器名
-p 映射端口
#文件目录映射 html下的自定义文件
-v /root/nginx/html:/usr/share/nginx/html:rw\
#自定义配置文件default.conf
-v /root/nginx/conf/default.conf:/etc/nginx/conf.d/default.conf:rw\
#服务器ssl文件
-v -v /root/nginx/ssh:/ssl/:rw\
-d 后台(background)运行
#访问容器内部
sudo docker exec -it ID /bin/bash
#/bin/bash 不一定是这个命令 具体用docker ps可以看到
以上是我的成功配置。
最后上图
文章写的不对,或者不清晰的地方,烦请指正!谢谢!