问答详情
源自:6-3 compose实战

无法通过nginx 访问 app ,麻烦您指导一下

首先非常感谢,您讲的非常棒

提前说的:

因为我有WordPress的image所以就没用ghost。其他配置和您讲的一样。

目前的情况:

构建完后,我可以单独访问WordPress,但是通过nginx无法访问。

初步推断:

因为还不太了解compose的机制,我觉得是compose解析nginx.conf的时候,没有把app换成实际的app地址。

-----排查步骤:-----------

1 构建完后,查看docker 进程

http://img4.mukewang.com/5a5dc0dd0001d73115740086.jpg

2 访问nginx

http://img2.mukewang.com/5a5dc0eb00015eeb04580160.jpg

3 访问WordPress

http://img1.mukewang.com/5a5dc0fa0001afaa03240329.jpg

4 目录结构

http://img2.mukewang.com/5a5dc1050001d48506400133.jpg

4 docker-compose.yml

http://img3.mukewang.com/5a5dc10f0001b35d04210590.jpg

5 nginx.conf 和 Dockerfile

http://img3.mukewang.com/5a5dc1200001d42a04590261.jpg

http://img4.mukewang.com/5a5dc121000121c003280062.jpg


6 WordPress Dockerfile

http://img4.mukewang.com/5a5dc132000171e403590050.jpg

7 进入nginx 容器后 查看nginx conf

http://img3.mukewang.com/5a5dc13b00018d8f08180278.jpg

提问者:xhs 2018-01-16 17:10

个回答

  • xhs
    2018-01-16 17:32:31

    还有一个问题

    执行build的时候,有警告:

    $ sudo docker-compose build

    WARNING: The PWD variable is not set. Defaulting to a blank string.

    db uses an image, skipping

    Building wordpress-app

    Step 1/2 : FROM daocloud.io/daocloud/dao-wordpress

     ---> d1b3484c806f

    Step 2/2 : EXPOSE 80

     ---> Using cache

     ---> f962858c63db

    Successfully built f962858c63db

    Successfully tagged dockercompose_wordpress-app:latest

    Building nginx

    Step 1/3 : FROM nginx

     ---> 3f8a4339aadd

    Step 2/3 : copy nginx.conf /etc/nginx/nginx.conf

     ---> Using cache

     ---> acd7b968b81e

    Step 3/3 : EXPOSE 8910

     ---> Using cache

     ---> ae6d45c734c7

    Successfully built ae6d45c734c7

    Successfully tagged dockercompose_nginx:latest

    但是我执行echo是正常的

    $ echo $PWD/data

    /home/xiaoshoujia/docker_home/docker-compose/data