Dockerfile.template
FROM ubuntu:16.04
RUN apt-get update
WORKDIR /root
ADD ./entrypoint.sh entrypoint.sh
RUN chmod 775 ./entrypoint.sh
CMD ./entrypoint.sh
entrypoint_template.sh
#!/bin/bash
Вам нужно написать сценарий некоторой логикой следующим образом:
Если зависимость имеет ssh
, добавьте apt-get -y install openssh
в Dockerfile.template
после строки RUN apt-get update
, также добавьте service ssh start
в entrypoint_template.sh
после #!/bin/bash
Если зависимость имеет python
, добавьте apt-get -y install python
в Dockerfile.template
после строки RUN apt-get update
Затем, после завершения цикла петли зависимостей, добавьте tail -f /dev/null
в конец entrypoint_template.sh
, если ваша последняя команда не находится на передней панели.
Изначально измените значение Dockerfile.template
на Dockerfile
и измените entrypoint_template.sh
на entrypoint.sh
. Это чистая логика жесткого кодирования, но нет методов, если у вас не может быть метод ИИ для моделирования автоматически записывать файл докеров для каждого сценария.
Если вы знаете размеры ящика, вы можете position: absolute
peuso-элементы и затем центрировать их с помощью подхода transform: translate(-50%, -50%)
. Надеюсь, что это помогает.
.loader-container {
position: absolute;
width: 100%;
height: 100%;
left: 0px;
top: 0px;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
background-color: aquamarine;
}
.loader {
border: 2px solid red;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
width: 200px;
height: 100px;
position: relative;
}
.loader::after,
.loader::before {
content: "";
display: block;
border-radius: 50%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.loader::before {
border: 2px solid blue;
width: 50px;
height: 50px;
}
.loader::after {
border: 2px solid green;
width: 100px;
height: 100px;
}
<div class="loader-container">
<div class='loader'></div>
</div>