Как удалить сервис из docker-compose.yml программно?

Попробуйте поместить document.getElementById в setTimeout()

Например.

setTimeout(function(){
    console.log(document.getElementById('whatever'));
}, 100);

Если это сработает, тогда это просто проблема синхронизации.

2
задан Alexander Volkov 18 January 2019 в 19:29
поделиться

2 ответа

Я пишу bash-скрипт, который удаляет сервис из docker-compose.yml. Основная идея состоит в том, чтобы читать docker-compose.yml построчно и сравнивать строку с началом объявления сервиса. Строки помещаются во временный файл до тех пор, пока не будет найдено объявление сервиса. Как только объявление службы найдено, скрипт перестает печатать строки во временном файле. Когда сценарий следующего объявления службы найден, он снова начинает печатать строки во временном файле. После этого временный файл копируется в исходный файл.

#!/bin/bash

SERVICE_NAME=$1
tmp=$(mktemp)

service_start_regex="^\s{3}$SERVICE_NAME:\s*$"
next_service_start_regex="^\s{3}[a-zA-Z0-9_]+:\s*$"

state="loud"
while IFS= read -r line; do
    if [[ "$line" =~ $service_start_regex ]]; then
        state="silent"
    fi

    if [[ "$line" =~ $next_service_start_regex && ! "$line" =~ $service_start_regex && "$state" == "silent" ]]; then
        state="loud"
    fi

    if [[ $state == "loud" ]]; then
        printf "%s\n" "$line"
    fi
done < ./docker-compose.yml > "$tmp" && mv "$tmp" docker-compose.yml
0
ответ дан Alexander Volkov 18 January 2019 в 19:29
поделиться

вы можете запустить только те службы, которые вы назвали, например, чтобы запустить service_1 и service_3, которые вы можете запустить:

docker-compose up service_1 service_3

составить файл вы можете просто отредактировать его в текстовом редакторе и удалить ненужные вам сервисы. Программно вы можете сделать это, используя библиотеки python и PyYaml.

Вы также можете использовать awk для удаления сервисов, но требует немного больше работы ...

0
ответ дан user7440787 18 January 2019 в 19:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: