繁体   English   中英

docker-compose up -d 后,Docker 容器以代码 0 退出

[英]Docker container exited with code 0 after docker-compose up -d

我知道这个问题已经在各种情况下被问过,但尽管我在互联网上阅读了所有内容,但我仍然被卡住了。

我想在构建容器“mywebsite”后执行一个脚本, ENTRYPOINT我使用了ENTRYPOINT ,我知道在正常使用中,执行ENTRYPOINT命令后,容器“mywebsite”退出。 我尝试了几种技巧来避免退出,不幸的是没有成功。

在我的DOCKERFILE我有这个:

FROM php:7.1.17-apache

[...]    

WORKDIR /var/www

COPY docker-entrypoint.sh /var/www/docker-entrypoint.sh
ENTRYPOINT ["sh", "/var/www/docker-entrypoint.sh"]

然后在我的 docker-entrypoint.sh 我有这个:

#!/bin/bash
set -e

cd www
chown -R www-data:www-data sites modules themes

exec "$@"

这是我的 docker-compose.yml :

version: '3.3'

services:
  mywebsite:
    build: .
    extra_hosts:
      - "mywebsite.local:127.0.0.1"
    hostname: mywebsite
    domainname: local
    ports:
      - 8088:80
    volumes:
      - ./www:/var/www/www
      - ./vendor:/var/www/vendor
      - ./scripts:/var/www/scripts
    links:
      - database:database
    restart: always
    tty: true
  database:
    image: mysql:5.5.49
    container_name: mysql-container
    ports:
      - 3307:3306
    volumes:
      - ./www/dumps/mywebsite.sql:/docker-entrypoint-initdb.d/dump.sql
    restart: always
    command: --max_allowed_packet=32505856
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: mywebsite

构建时,所有步骤都很好,一切都设置正确,但容器“mywebsite”不断退出。 (“数据库”服务运行良好)

我曾使用tty: trueexec "$@"但这些都不起作用。

你可以用像tail -f /dev/null这样的命令结束

我经常在我的 docker-compose.yml 中直接使用它的command: tail -f /dev/null 很容易看出我是如何保持容器运行的。

从 postgis 图像创建自己的图像时,我遇到了同样的问题。 问题是我添加了一个入口点。 当我删除入口点,再次构建图像​​时,docker-compose 确实启动了我的容器并且 postgis 正在接受连接。

文件

FROM postgis/postgis:12-master

COPY organisation.sql

#ENTRYPOINT ["docker-entrypoint.sh"]  #This was the problem

在 docker-compose 中,我不需要命令或 tty。

version: "3.7"

services:
  mydb:
    image: mydb:latest
    container_name: mytest
    ports:
      - "5432:5432"

    environment:
      POSTGRES_DB: postgres
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: secret

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM