nginx 调试
nginx 安装成功后,没有设置域名。
而且,不能实现多域名配置,所以继续调试。
挂载目录
这次把conf的子目录也挂载到容器:
-v /var/service/nginx/conf/conf.d:/etc/nginx/conf.d
但是报错了,原来当前容器重名了
$ docker run -d -p 8082:80 --name nginx-20190910-web -v /var/service/nginx/www:/usr/share/nginx/html -v /var/service/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /var/service/nginx/logs:/var/log/nginx -v /var/service/nginx/conf/conf.d:/etc/nginx/conf.d nginx
docker: Error response from daemon: Conflict. The container name "/nginx-20190910-web" is already in use by container "13caefb2d2ea9baf6ef6cd8a41b19cc0e157c1f7c80f73d876486cb770dfe457". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
查看所有容器
# docker ps -a 命令也可以查看全部
$ docker container ls -all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13caefb2d2ea nginx "nginx -g 'daemon of…" 10 hours ago Up 10 hours 0.0.0.0:8082->80/tcp nginx-20190910-web
解决办法:先删除,再重建 ; 或者 rename (rename 没有尝试)
# rename
$ docker run -it --name=mycentos2 centos:7 /bin/bash
删除容器
$ docker container rm nginx-20190910-web
Error response from daemon: You cannot remove a running container 13caefb2d2ea9baf6ef6cd8a41b19cc0e157c1f7c80f73d876486cb770dfe457. Stop the container before attempting removal or force remove
报错,必须先停止,才能删除
停止容器
$ docker stop nginx-20190910-web
nginx-20190910-web
查看所有容器(包括已暂停的)
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b44d40b9989a nginx "nginx -g 'daemon of…" 11 hours ago Up 11 hours 0.0.0.0:8081->80/tcp nginx-20190910
重新运行容器
$ docker run -d -p 8082:80 --name nginx-20190910-web -v /var/service/nginx/www:/usr/share/nginx/html -v /var/service/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /var/service/nginx/logs:/var/log/nginx -v /var/service/nginx/conf/conf.d:/etc/nginx/conf.d nginx
3de323b5af68e23802568c349601f2a3736bb1320259fdea9933afe455a505c3
[root@iz2zeafqezq2d73wx14xb2z conf.d]#
查看状态, 自动退出。 why ?
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3de323b5af68 nginx "nginx -g 'daemon of…" 3 minutes ago Exited (1) 3 minutes ago nginx-20190910-web
b44d40b9989a nginx "nginx -g 'daemon of…" 11 hours ago Up 11 hours 0.0.0.0:8081->80/tcp nginx-20190910
为什么会自动退出呢?
使用docker查看容器退出原因
$ docker ps -a
找到退出容器的id, 然后使用
docker logs 容器id
可以看到退出的原因
docker logs 3de323b5af68
nginx: [emerg] invalid number of arguments in "location" directive in /etc/nginx/conf.d/default.conf:5
nginx: [emerg] invalid number of arguments in "location" directive in /etc/nginx/conf.d/default.conf:5
解决之后,浏览器访问依旧失败 http://127.0.0.1:8082
服务器测试
curl http://127.0.0.1:8082/
报404错误
原来是default.conf 中loation 的根目录写错了,找不到入口文件
修改后,重启nginx
$ docker restart 3de323b5af68
本次服务器curl成功
http://127.0.0.1:8082
但是浏览器依旧访问不通, 待续…
参考文章:
https://www.cnblogs.com/hailun1987/p/9672125.html
下篇文章解决啦!!!
↓
docker 浏览器访问nginx