@@ -183,20 +183,36 @@ func consoleInitFunc() error {
183
183
})
184
184
}
185
185
186
- // create placeholder for docker-compose binary
187
- const ComposePlaceholder = `
188
- #!/bin/bash
189
- echo 'INFO: System service "docker-compose" is not yet enabled'
190
- sudo ros service enable docker-compose
191
- sudo ros service up docker-compose
186
+ // create placeholder for docker binary with "docker compose" support
187
+ const DockerPlaceholder = `#!/bin/bash
188
+ if [ "$1" == "compose" ]; then
189
+ /usr/local/bin/docker-compose "${@:2}"
190
+ elif [ "$1" == "build" ]; then
191
+ DOCKER_VERSION=$(sudo system-docker inspect --format "{{.Config.Image}}" docker | cut -d ":" -f 2)
192
+ docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -w /build -v $PWD:/build docker:$DOCKER_VERSION-cli docker build "${@:2}"
193
+ elif [ "$1" == "builder" ]; then
194
+ DOCKER_VERSION=$(sudo system-docker inspect --format "{{.Config.Image}}" docker | cut -d ":" -f 2)
195
+ docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -w /builder -v $PWD:/builder docker:$DOCKER_VERSION-cli docker builder "${@:2}"
196
+ elif [ "$1" == "buildx" ]; then
197
+ DOCKER_VERSION=$(sudo system-docker inspect --format "{{.Config.Image}}" docker | cut -d ":" -f 2)
198
+ docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -w /buildx -v $PWD:/buildx docker:$DOCKER_VERSION-cli docker buildx "${@:2}"
199
+ else
200
+ /usr/bin/docker "$@"
201
+ fi
192
202
`
193
- if _ , err := os .Stat ("/var/lib/rancher/compose " ); os .IsNotExist (err ) {
194
- if err := os . MkdirAll ("/var/lib/rancher/compose " , 0555 ); err != nil {
203
+ if _ , err := os .Stat ("/usr/local/bin/docker " ); os .IsNotExist (err ) {
204
+ if err := ioutil . WriteFile ("/usr/local/bin/docker " , [] byte ( DockerPlaceholder ), 0755 ); err != nil {
195
205
log .Error (err )
196
206
}
197
207
}
198
- if _ , err := os .Stat ("/var/lib/rancher/compose/docker-compose" ); os .IsNotExist (err ) {
199
- if err := ioutil .WriteFile ("/var/lib/rancher/compose/docker-compose" , []byte (ComposePlaceholder ), 0755 ); err != nil {
208
+
209
+ // create placeholder for docker-compose binary
210
+ const ComposePlaceholder = `#!/bin/bash
211
+ DOCKER_VERSION=$(sudo system-docker inspect --format "{{.Config.Image}}" docker | cut -d ":" -f 2)
212
+ docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -w /compose -v $PWD:/compose docker:$DOCKER_VERSION-cli docker compose "$@"
213
+ `
214
+ if _ , err := os .Stat ("/usr/local/bin/docker-compose" ); os .IsNotExist (err ) {
215
+ if err := ioutil .WriteFile ("/usr/local/bin/docker-compose" , []byte (ComposePlaceholder ), 0755 ); err != nil {
200
216
log .Error (err )
201
217
}
202
218
}
0 commit comments