【问题标题】:Docker: container state exit 0Docker:容器状态退出 0
【发布时间】:2020-04-03 16:00:44
【问题描述】:

我的 docker 容器有问题。 这是我的 docker-compose 文件,包含 5 个服务

    version: '3'
networks:
  laravel:

services:

  nginx:
    image: nginx:stable-alpine
    container_name: nginx
    ports: 
      - "8088:80"
    volumes: 
      - ./src:/var/www/html 
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on: 
    - mysql
    - php

    networks: 
    - laravel

  mysql:
    image: mysql:5.7.22
    container_name: mysql
    restart: unless-stopped
    tty: true
    ports: 
      - "4306:3306"
    environment: 
      MYSQL_DATABASE: homestead
      MYSQL_USER: homestead
      MYSQL_PASSWORD: secret
      MYSQL_ROOT_PASSWORD: secret
      SERVICE_TAGS: dev
      SERVICE_NAME: mysql

    networks: 
    - laravel

  php:
    build: 
      context: .
      dockerfile: Dockerfile
    container_name: php
    volumes: 
      - ./src:/var/www/html
    ports:
      - "9000:9000"
    networks: 
      - laravel

  redis:
        image: redis:5.0.0-alpine
        restart: always
        container_name: redis
        ports:
            - "6379:6379"
        networks:
          - laravel
  composer:
    image: composer:latest
    container_name: composer
    volumes:
      - ./src:/var/www/html
    tty: true
    working_dir: /var/www/html
    networks:
      - laravel

然后我运行

docker-compose up -d

然后

docker-compose ps

看到我的容器,我总是用代码 0 来获取作曲家容器。这就是屏幕截图

:

谁能解释一下为什么我不能把这个容器放起来。非常感谢

【问题讨论】:

  • 你希望容器做什么?
  • @tkausl 我怎样才能把作曲家容器放起来?像 mysql nginx php 和 redis
  • 它不是服务器。它不会保持“上升”状态。它将运行并退出。拥有作曲家“容器”没有任何优势。图像可能有用,但容器则值得怀疑。看来你可能对你想在这里完成什么感到困惑。

标签: docker docker-compose composer-php containers


【解决方案1】:

composer 不是一个可以存活的程序。这是一个执行特定工作然后退出的程序。

保持它“运行”并没有太多目的,因为它不会像其他进程那样做任何事情(nginx 拦截 Web 流量并写入响应,mysql 接受数据库连接并从数据库读取/写入,php 服务于 web内容,redis可以作为缓存连接)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-30
    • 1970-01-01
    • 2018-05-01
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    相关资源
    最近更新 更多