Refactor docker run options to compose format
This commit is contained in:
parent
1d1ec20cb7
commit
919e88afb4
@ -1129,7 +1129,9 @@ class ApplicationDeploymentJob implements ShouldQueue, ShouldBeEncrypted
|
|||||||
data_forget($docker_compose, 'services.' . $this->container_name);
|
data_forget($docker_compose, 'services.' . $this->container_name);
|
||||||
|
|
||||||
$custom_compose = convert_docker_run_to_compose($this->application->custom_docker_run_options);
|
$custom_compose = convert_docker_run_to_compose($this->application->custom_docker_run_options);
|
||||||
$docker_compose['services'][$this->application->uuid] = array_merge_recursive($docker_compose['services'][$this->application->uuid], $custom_compose);
|
if (count($custom_compose) > 0) {
|
||||||
|
$docker_compose['services'][$this->application->uuid] = array_merge_recursive($docker_compose['services'][$this->application->uuid], $custom_compose);
|
||||||
|
}
|
||||||
|
|
||||||
$this->docker_compose = Yaml::dump($docker_compose, 10);
|
$this->docker_compose = Yaml::dump($docker_compose, 10);
|
||||||
$this->docker_compose_base64 = base64_encode($this->docker_compose);
|
$this->docker_compose_base64 = base64_encode($this->docker_compose);
|
||||||
|
@ -324,6 +324,8 @@ function isDatabaseImage(?string $image = null)
|
|||||||
|
|
||||||
function convert_docker_run_to_compose(?string $custom_docker_run_options = null)
|
function convert_docker_run_to_compose(?string $custom_docker_run_options = null)
|
||||||
{
|
{
|
||||||
|
$options = [];
|
||||||
|
$compose_options = collect([]);
|
||||||
preg_match_all('/(--\w+(?:-\w+)*)(?:\s|=)?([^\s-]+)?/', $custom_docker_run_options, $matches, PREG_SET_ORDER);
|
preg_match_all('/(--\w+(?:-\w+)*)(?:\s|=)?([^\s-]+)?/', $custom_docker_run_options, $matches, PREG_SET_ORDER);
|
||||||
$list_options = collect([
|
$list_options = collect([
|
||||||
'--cap-add',
|
'--cap-add',
|
||||||
@ -344,7 +346,6 @@ function convert_docker_run_to_compose(?string $custom_docker_run_options = null
|
|||||||
'--ulimit' => 'ulimits',
|
'--ulimit' => 'ulimits',
|
||||||
'--privileged' => 'privileged',
|
'--privileged' => 'privileged',
|
||||||
]);
|
]);
|
||||||
$options = [];
|
|
||||||
foreach ($matches as $match) {
|
foreach ($matches as $match) {
|
||||||
$option = $match[1];
|
$option = $match[1];
|
||||||
$value = isset($match[2]) && $match[2] !== '' ? $match[2] : true;
|
$value = isset($match[2]) && $match[2] !== '' ? $match[2] : true;
|
||||||
@ -362,7 +363,6 @@ function convert_docker_run_to_compose(?string $custom_docker_run_options = null
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
$options = collect($options);
|
$options = collect($options);
|
||||||
$compose_options = collect([]);
|
|
||||||
// Easily get mappings from https://github.com/composerize/composerize/blob/master/packages/composerize/src/mappings.js
|
// Easily get mappings from https://github.com/composerize/composerize/blob/master/packages/composerize/src/mappings.js
|
||||||
foreach ($options as $option => $value) {
|
foreach ($options as $option => $value) {
|
||||||
if (!data_get($mapping, $option)) {
|
if (!data_get($mapping, $option)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user