@@ -265,6 +265,20 @@ resource "docker_image" "main" {
265
265
}
266
266
}
267
267
268
+ resource "docker_network" "private_network" {
269
+ name = " network-${ data . coder_workspace . me . id } "
270
+ }
271
+
272
+ resource "docker_container" "dind" {
273
+ image = " docker:dind"
274
+ privileged = true
275
+ name = " dind-${ data . coder_workspace . me . id } "
276
+ entrypoint = [" dockerd" , " -H" , " tcp://0.0.0.0:2375" ]
277
+ networks_advanced {
278
+ name = docker_network. private_network . name
279
+ }
280
+ }
281
+
268
282
resource "docker_container" "workspace" {
269
283
count = data. coder_workspace . me . start_count
270
284
@@ -276,6 +290,8 @@ resource "docker_container" "workspace" {
276
290
# Hostname makes the shell more user friendly: coder@my-workspace:~$
277
291
hostname = data. coder_workspace . me . name
278
292
293
+ command = [" sh" , " -c" , coder_agent . main . init_script ]
294
+
279
295
# Use the docker gateway if the access URL is 127.0.0.1
280
296
entrypoint = [" sh" , " -c" , replace (coder_agent. main . init_script , " /localhost|127\\ .0\\ .0\\ .1/" , " host.docker.internal" )]
281
297
@@ -285,14 +301,19 @@ resource "docker_container" "workspace" {
285
301
" INIT_SCRIPT=${ replace (coder_agent. main . init_script , " /localhost|127\\ .0\\ .0\\ .1/" , " host.docker.internal" )} " ,
286
302
" GIT_URL=${ data . coder_parameter . repo . value == " custom" ? data . coder_parameter . custom_repo_url . value : data . coder_parameter . repo . value } " ,
287
303
" WORKDIR=/var/www/html" ,
288
- " SEED=${ data . coder_parameter . laravel_seed . value } "
304
+ " SEED=${ data . coder_parameter . laravel_seed . value } " ,
305
+ " DOCKER_HOST=${ docker_container . dind . name } :2375"
289
306
]
290
307
291
308
host {
292
309
host = " host.docker.internal"
293
310
ip = " host-gateway"
294
311
}
295
312
313
+ networks_advanced {
314
+ name = docker_network. private_network . name
315
+ }
316
+
296
317
volumes {
297
318
container_path = " /var/www/html"
298
319
volume_name = docker_volume. workspaces . name
0 commit comments