stdlib/docker: #Run checks if the container exists and can optionnally recreate it
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
This commit is contained in:
parent
2cc3f9ad5a
commit
72723c4ca7
@ -200,6 +200,9 @@ import (
|
|||||||
// Container name
|
// Container name
|
||||||
name?: dagger.#Input & {string}
|
name?: dagger.#Input & {string}
|
||||||
|
|
||||||
|
// Recreate container?
|
||||||
|
recreate: dagger.#Input & {bool | *true}
|
||||||
|
|
||||||
// Image registry
|
// Image registry
|
||||||
registry?: {
|
registry?: {
|
||||||
target: string
|
target: string
|
||||||
@ -216,6 +219,16 @@ import (
|
|||||||
|
|
||||||
if [ ! -z "$CONTAINER_NAME" ]; then
|
if [ ! -z "$CONTAINER_NAME" ]; then
|
||||||
OPTS="$OPTS --name $CONTAINER_NAME"
|
OPTS="$OPTS --name $CONTAINER_NAME"
|
||||||
|
docker inspect "$CONTAINER_NAME" >/dev/null && {
|
||||||
|
# Container already exists
|
||||||
|
if [ ! -z "$CONTAINER_RECREATE" ]; then
|
||||||
|
echo "Replacing container $CONTAINER_NAME"
|
||||||
|
docker stop "$CONTAINER_NAME"
|
||||||
|
docker rm "$CONTAINER_NAME"
|
||||||
|
else
|
||||||
|
echo "$CONTAINER_NAME already exists"
|
||||||
|
fi
|
||||||
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z "$CONTAINER_PORTS" ]; then
|
if [ ! -z "$CONTAINER_PORTS" ]; then
|
||||||
@ -240,6 +253,10 @@ import (
|
|||||||
CONTAINER_NAME: name
|
CONTAINER_NAME: name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if recreate {
|
||||||
|
CONTAINER_RECREATE: "true"
|
||||||
|
}
|
||||||
|
|
||||||
if ports != _|_ {
|
if ports != _|_ {
|
||||||
CONTAINER_PORTS: strings.Join(ports, " -p ")
|
CONTAINER_PORTS: strings.Join(ports, " -p ")
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user