docker nginx 运行调试

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值