GNU/Linux >> Belajar Linux >  >> Linux

Jalankan skrip shell dari perintah docker-compose, di dalam container

Hal pertama, Anda menyalin entrypoint.sh ke $APP yang Anda berikan dari build args Anda tetapi Anda tidak menyebutkannya dan hal kedua yang Anda perlukan untuk mengatur izin untuk entrypoint.sh . Lebih baik tambahkan tiga baris ini sehingga Anda tidak perlu menambahkan command dalam file penyusun-docker.

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"

komposisi buruh pelabuhan untuk api adalah

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

atau Anda dapat menggunakan milik Anda sendiri juga akan berfungsi dengan baik

version: "2"

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

Sekarang Anda juga dapat memeriksa dengan perintah docker run.

docker run -it --rm myapp


Linux
  1. Menjalankan skrip shell secara paralel

  2. Skrip Bash:Menggunakan perintah skrip dari skrip bash untuk mencatat sesi

  3. Bagaimana saya bisa menjalankan fungsi dari skrip di baris perintah?

  1. Jalankan skrip yang disalurkan dari stdin (Linux/Shell Scripting)

  2. Jalankan skrip shell di terminal baru dari terminal saat ini

  3. Bagaimana cara menjalankan perintah Vim dari shell?

  1. Mengapa "Sudo Su" Dalam Skrip Shell Tidak Menjalankan Skrip Lainnya Sebagai Root?

  2. Cara menjalankan TeX dari antarmuka baris perintah di Linux

  3. Jalankan skrip shell sebagai pengguna yang berbeda