Попробуйте поместить document.getElementById
в setTimeout()
Например.
setTimeout(function(){
console.log(document.getElementById('whatever'));
}, 100);
Если это сработает, тогда это просто проблема синхронизации.
Я пишу 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
вы можете запустить только те службы, которые вы назвали, например, чтобы запустить service_1
и service_3
, которые вы можете запустить:
docker-compose up service_1 service_3
составить файл вы можете просто отредактировать его в текстовом редакторе и удалить ненужные вам сервисы. Программно вы можете сделать это, используя библиотеки python
и PyYaml
.
Вы также можете использовать awk
для удаления сервисов, но требует немного больше работы ...