GNU/Linux >> Tutoriels Linux >  >> Linux

Exécutez un script shell à partir de la commande docker-compose, à l'intérieur du conteneur

Première chose, vous copiez entrypoint.sh à $APP que vous avez transmis à partir de vos arguments de construction mais vous ne l'avez pas mentionné et deuxième chose dont vous avez besoin pour définir l'autorisation pour entrypoint.sh . Mieux vaut ajouter ces trois lignes pour ne pas avoir besoin d'ajouter command dans le fichier docker-compose.

FROM python:3.6-alpine3.7
RUN apk add --no-cache --update \
    python3 python3-dev gcc \
    gfortran musl-dev \
    libffi-dev openssl-dev
RUN pip install --upgrade pip
ENV PYTHONUNBUFFERED 1
ENV APP /app
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir $APP
WORKDIR $APP
ADD requirements.txt .
RUN pip install -r requirements.txt

COPY . .
# These line for /entrypoint.sh
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
entrypoint "/entrypoint.sh"

docker compose pour api sera

  api:
    build: .
    container_name: app
    expose:
      - "5000"

ou vous pouvez utiliser votre propre également fonctionnera bien

version: "2"

services:
  api:
    build: .
    container_name: app
    command: /bin/sh -c "entrypoint.sh"
    expose:
      - "5000"

Maintenant, vous pouvez également vérifier avec la commande docker run.

docker run -it --rm myapp


Linux
  1. Pourquoi "sudo Su" dans un script Shell n'exécute-t-il pas le reste du script en tant que racine ?

  2. Exécuter un script shell en parallèle

  3. Script bash :utilisation de la commande de script d'un script bash pour la journalisation d'une session

  4. Comment installer un script pour qu'il s'exécute n'importe où à partir de la ligne de commande ?

  5. Comment exécuter la commande Vim depuis le shell ?

Comment exécuter une commande / un script Linux Shell en arrière-plan

Googler - Exécutez des recherches Google à partir de la ligne de commande

La signification de $ ? Dans un script shell ?

Comment exécuter des scripts Python à partir du shell

Comment exécuter une commande dans un script shell ?

Exécuter un script shell en tant qu'utilisateur différent