nginx – Docker不会附加到图像

我有一个fig.yml文件,我用它来设置我的docker容器.我通过输入./fig up运行它然后输出以下内容:

Recreating docker_memcache_1...
Recreating docker_sphinx_1...
Recreating docker_percona_1...
Recreating docker_php_1...
Recreating docker_sa_1...
Attaching to docker_memcache_1, docker_percona_1, docker_php_1

所以一旦完成,一切都会启动并运行.我的问题是,由于某种原因,它没有附加到我设置的nginx容器. docker ps命令输出以下内容:

9bb0c647338e        php:latest          "/usr/sbin/php-fpm -   2 minutes ago       Up 2 minutes        9000/tcp            docker_php_1        
9f74789bdb15        percona:latest      "mysqld"               3 minutes ago       Up 3 minutes                            docker_percona_1    
b848d3442bdf        memcached:latest    "/bin/sh -c memcache   3 minutes ago       Up 3 minutes        11211/tcp           docker_memcache_1  

所以memcache图像,php图像和percona图像都很好,但是没有像应该存在的nginx docker图像.

下面是我如何设置我的fig.yml文件,这基本上是启动所有内容的文件.有没有人对可能发生的事情有任何想法?只是要注意我确实将守护进程设置为关闭,因此它不应该自动退出.

fig.yml文件在这里:

sa:
  image: nginx
  links:
    - php:php-fpm
  volumes:
    - ./svn (path here)
    - ./cert:/(path here)
  ports:
    - "8080:80"
memcache:
  image: memcached
  hostname: memcached.docker
sphinx:
  image: sphinx
  hostname: sphinx.docker
percona:
  image: percona
  hostname: percona.docker
php:
  image: php
  hostname: php.docker
  links:  
    - memcache:memcache.docker
    - sphinx:sphinx.docker
    - percona:percona.docker

还以为我会包含我的nginx Dockerfile,以防有什么东西在那里我很遗憾任何帮助都非常感谢

Nginx Dockerfile

From centos:6.6
RUN yum -y install http://mirror.us.leaseweb.net/epel/6/i386/epel-release-6-8.noarch.rpm
RUN yum -y install nginx && rm /etc/nginx/conf.d/*
CMD ["nginx", "-g", "daemon off;"]
EXPOSE 80 443
COPY sa.conf /etc/nginx/conf.d/
COPY base /etc/nginx/base/
最佳答案
运行docker ps -a以显示所有容器,而不仅仅是运行容器.您会看到docker_sa_1被列为已停止的容器.这是因为它在启动时立即崩溃.不幸的是,当发生这种情况时,无法为您显示日志(或自动关闭堆栈).

运行docker日志docker_sa_1以查看输出.希望你会有一个很好的Nginx错误信息.如果你找不到任何东西,那么从你的fig.yml中删除sa条目,做一个图来让其他一切开始,然后运行

docker run -it --link=docker_php_1:php-fpm -v $PWD/svn:(?) -v $PWD/cert:(?) -p 8080:80 nginx

(你需要用你遗漏的路径位来填写?)这相当于图中所做的,除了我们用附加的tty启动容器交互,而不是稍后附加.如果仍然无法收到任何错误消息,请运行

docker run -it --link=docker_php_1:php-fpm -v $PWD/svn:(?) -v $PWD/cert:(?) -p 8080:80 nginx /bin/bash

在容器上获取​​实时shell.然后尝试自己启动Nginx并在崩溃后挖掘日志文件.

转载注明原文:nginx – Docker不会附加到图像 - 代码日志