@forest
Есть несколько способов исполнить скрипт при запуске Docker контейнера:
Можно добавить команду CMD
или ENTRYPOINT
в Dockerfile для вызова нужного скрипта. Например:
1 2 3 4 |
FROM <base_image> COPY script.sh /app/ CMD ["/app/script.sh"] |
Или:
1 2 3 4 |
FROM <base_image> COPY script.sh /app/ ENTRYPOINT ["/app/script.sh"] |
Можно передать команду в docker run
при запуске контейнера. Например:
1
|
docker run <image_name> /app/script.sh |
Если вы используете Docker Compose для управления контейнерами, вы можете использовать секцию command
для вызова нужного скрипта при запуске контейнера. Например:
1 2 3 4 5 6 7 |
version: '3' services: my_service: build: context: . dockerfile: Dockerfile command: /app/script.sh |
Если вы используете Kubernetes для управления контейнерами, вы можете использовать YAML-файлы подкачки для определения команды запуска при поднятии контейнера. Например:
1 2 3 4 5 6 7 8 9 |
apiVersion: v1 kind: Pod metadata: name: my-pod spec: containers: - name: my-container image: my-image command: ["/bin/bash", "-c", "/app/script.sh"] |
В зависимости от сценария использования и инструментов, которые вы предпочитаете, вы можете выбрать наиболее подходящий способ для вас.
@forest
Есть несколько способов исполнить скрипт при запуске Docker контейнера:
1 2 3 4 |
FROM <base_image> COPY script.sh /app/ CMD ["/app/script.sh"] |
или
1 2 3 4 |
FROM <base_image> COPY script.sh /app/ ENTRYPOINT ["/app/script.sh"] |
1
|
docker run <image_name> /app/script.sh |
1 2 3 4 5 6 7 |
version: '3' services: my_service: build: context: . dockerfile: Dockerfile command: /app/script.sh |
1 2 3 4 5 6 7 8 9 |
apiVersion: v1 kind: Pod metadata: name: my-pod spec: containers: - name: my-container image: my-image command: ["/bin/bash", "-c", "/app/script.sh"] |
В зависимости от конкретной ситуации и предпочтений, можно выбрать наиболее подходящий способ.