@@ -62,6 +62,7 @@ def __init__(
62
62
self .env_file = env_file
63
63
self .services = services
64
64
self ._user_defined_compose_command = compose_command .split (" " ) if compose_command else None
65
+ self .docker_compose = self .base_docker_compose ()
65
66
66
67
def __enter__ (self ) -> "DockerCompose" :
67
68
self .start ()
@@ -108,10 +109,10 @@ def start(self) -> None:
108
109
Starts the docker compose environment.
109
110
"""
110
111
if self .pull :
111
- pull_cmd = self .docker_compose_command () + ['pull' ]
112
+ pull_cmd = self .docker_compose + ['pull' ]
112
113
self ._call_command (cmd = pull_cmd )
113
114
114
- up_cmd = self .docker_compose_command () + ['up' , '-d' ]
115
+ up_cmd = self .docker_compose + ['up' , '-d' ]
115
116
if self .build :
116
117
up_cmd .append ('--build' )
117
118
if self .services :
@@ -122,7 +123,7 @@ def stop(self) -> None:
122
123
"""
123
124
Stops the docker compose environment.
124
125
"""
125
- down_cmd = self .docker_compose_command () + ['down' , '-v' ]
126
+ down_cmd = self .docker_compose + ['down' , '-v' ]
126
127
self ._call_command (cmd = down_cmd )
127
128
128
129
def get_logs (self ) -> Tuple [str , str ]:
@@ -133,7 +134,7 @@ def get_logs(self) -> Tuple[str, str]:
133
134
stdout: Standard output stream.
134
135
stderr: Standard error stream.
135
136
"""
136
- logs_cmd = self .docker_compose_command () + ["logs" ]
137
+ logs_cmd = self .docker_compose + ["logs" ]
137
138
result = subprocess .run (
138
139
logs_cmd ,
139
140
cwd = self .filepath ,
@@ -154,7 +155,7 @@ def exec_in_container(self, service_name: str, command: List[str]) -> Tuple[str,
154
155
stdout: Standard output stream.
155
156
stderr: Standard error stream.
156
157
"""
157
- exec_cmd = self .docker_compose_command () + ['exec' , '-T' , service_name ] + command
158
+ exec_cmd = self .docker_compose + ['exec' , '-T' , service_name ] + command
158
159
result = subprocess .run (
159
160
exec_cmd ,
160
161
cwd = self .filepath ,
@@ -190,7 +191,7 @@ def get_service_host(self, service_name: str, port: int) -> str:
190
191
return self ._get_service_info (service_name , port )[0 ]
191
192
192
193
def _get_service_info (self , service : str , port : int ) -> List [str ]:
193
- port_cmd = self .docker_compose_command () + ["port" , service , str (port )]
194
+ port_cmd = self .docker_compose + ["port" , service , str (port )]
194
195
try :
195
196
output = subprocess .check_output (port_cmd , cwd = self .filepath ).decode ("utf-8" )
196
197
except subprocess .CalledProcessError as e :
0 commit comments