@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"]
|
В зависимости от конкретной ситуации и предпочтений, можно выбрать наиболее подходящий способ.