Skip to content

Commit f692ebd

Browse files
authored
Merge pull request #54 from dokku-community/full-docker-commands
refactor: use expanded docker commands with container/image prefixes on subcommands
2 parents 7a18c04 + c267834 commit f692ebd

4 files changed

+20
-20
lines changed

builder-create-dokku-image

+11-11
Original file line numberDiff line numberDiff line change
@@ -24,43 +24,43 @@ hook-apt-builder-create-dokku-image() {
2424
trap "rm -rf '$TMP_WORK_DIR' >/dev/null" RETURN
2525
fn-apt-populate-work-dir "$SOURCECODE_WORK_DIR" "$TMP_WORK_DIR"
2626

27-
if [[ "$("$DOCKER_BIN" images --quiet "dokku/$APP:$CONTENT_SHA" 2>/dev/null)" != "" ]]; then
27+
if [[ "$("$DOCKER_BIN" image ls --quiet "dokku/$APP:$CONTENT_SHA" 2>/dev/null)" != "" ]]; then
2828
dokku_log_info1 "Compatible extended app image found, skipping system package installation"
2929
fn-clean-extended-app-images "$APP" "dokku/$APP:$CONTENT_SHA"
3030
return
3131
fi
3232

3333
dokku_log_info1 "Creating extended app image with custom system packages"
3434
pushd "$TMP_WORK_DIR" >/dev/null
35-
CID=$(tar -c . | "$DOCKER_BIN" run "${DOCKER_RUN_LABEL_ARGS[@]}" $DOKKU_GLOBAL_RUN_ARGS -i -a stdin "$DOKKU_IMAGE" /bin/bash -c "mkdir -p /tmp/apt && tar -xC /tmp/apt")
35+
CID=$(tar -c . | "$DOCKER_BIN" container run "${DOCKER_RUN_LABEL_ARGS[@]}" $DOKKU_GLOBAL_RUN_ARGS -i -a stdin "$DOKKU_IMAGE" /bin/bash -c "mkdir -p /tmp/apt && tar -xC /tmp/apt")
3636
popd >/dev/null
37-
if test "$("$DOCKER_BIN" wait "$CID")" -ne 0; then
37+
if test "$("$DOCKER_BIN" container wait "$CID")" -ne 0; then
3838
dokku_log_warn "Failure extracting apt files"
3939
return 1
4040
fi
4141

4242
DOCKER_COMMIT_LABEL_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0" "--change" "LABEL org.label-schema.vendor=dokku" "--change" "LABEL com.dokku.app-name=$APP" "--change" "LABEL $DOKKU_CONTAINER_LABEL=")
43-
"$DOCKER_BIN" commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" "$CID" "$IMAGE:apt" >/dev/null
44-
"$DOCKER_BIN" rm "$CID" &>/dev/null || true
43+
"$DOCKER_BIN" container commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" "$CID" "$IMAGE:apt" >/dev/null
44+
"$DOCKER_BIN" container rm "$CID" &>/dev/null || true
4545

4646
local DOCKER_ARGS=$(: | plugn trigger docker-args-build "$APP" "$BUILDER_TYPE")
4747
declare -a ARG_ARRAY
4848
eval "ARG_ARRAY=($DOCKER_ARGS)"
4949

5050
COMMAND="$(fn-apt-command "$APP" "$DOKKU_IMAGE" "/tmp/apt")"
5151
DOCKER_RUN_LABEL_ARGS="--label=com.dokku.app-name=$APP"
52-
CID=$("$DOCKER_BIN" run "${DOCKER_RUN_LABEL_ARGS[@]}" $DOKKU_GLOBAL_RUN_ARGS -d "${ARG_ARRAY[@]}" "$IMAGE:apt" /bin/bash -e -c "$COMMAND")
52+
CID=$("$DOCKER_BIN" container run "${DOCKER_RUN_LABEL_ARGS[@]}" $DOKKU_GLOBAL_RUN_ARGS -d "${ARG_ARRAY[@]}" "$IMAGE:apt" /bin/bash -e -c "$COMMAND")
5353

54-
"$DOCKER_BIN" attach "$CID"
55-
if test "$("$DOCKER_BIN" wait "$CID")" -ne 0; then
54+
"$DOCKER_BIN" container attach "$CID"
55+
if test "$("$DOCKER_BIN" container wait "$CID")" -ne 0; then
5656
dokku_log_warn "Failure installing system packages"
5757
return 1
5858
fi
5959

6060
DOCKER_COMMIT_LABEL_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0" "--change" "LABEL org.label-schema.vendor=dokku" "--change" "LABEL com.dokku.app-name=sha-$APP" "--change" "LABEL $DOKKU_CONTAINER_LABEL=")
61-
"$DOCKER_BIN" commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" "$CID" "dokku/$APP:$CONTENT_SHA" >/dev/null
62-
"$DOCKER_BIN" rm "$CID" &>/dev/null || true
63-
"$DOCKER_BIN" rmi "$IMAGE:apt" &>/dev/null || true
61+
"$DOCKER_BIN" container commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" "$CID" "dokku/$APP:$CONTENT_SHA" >/dev/null
62+
"$DOCKER_BIN" container rm "$CID" &>/dev/null || true
63+
"$DOCKER_BIN" image rm "$IMAGE:apt" &>/dev/null || true
6464
fn-clean-extended-app-images "$APP" "dokku/$APP:$CONTENT_SHA"
6565
}
6666

builder-dokku-image

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ hook-apt-builder-dokku-image() {
1818
return
1919
fi
2020

21-
if [[ "$("$DOCKER_BIN" images --quiet "$IMAGE:$CONTENT_SHA" 2>/dev/null)" != "" ]]; then
21+
if [[ "$("$DOCKER_BIN" image ls --quiet "$IMAGE:$CONTENT_SHA" 2>/dev/null)" != "" ]]; then
2222
echo "$IMAGE:$CONTENT_SHA"
2323
return
2424
fi

internal-functions

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ fn-clean-extended-app-images() {
99
local images
1010

1111
# remove dangling extended app images
12-
"$DOCKER_BIN" rmi $("$DOCKER_BIN" images --format 'dangling=true' --format "label=com.dokku.app-name=sha-$APP" --quiet) &>/dev/null || true
12+
"$DOCKER_BIN" image rm $("$DOCKER_BIN" image ls --format 'dangling=true' --format "label=com.dokku.app-name=sha-$APP" --quiet) &>/dev/null || true
1313

14-
images="$("$DOCKER_BIN" images --filter "label=com.dokku.app-name=sha-$APP" --quiet)"
14+
images="$("$DOCKER_BIN" image ls --filter "label=com.dokku.app-name=sha-$APP" --quiet)"
1515
for image in $images; do
16-
if [[ "$("$DOCKER_BIN" inspect --format '{{(index .RepoTags 0)}}' "$image" 2>/dev/null)" != "$IMAGE" ]]; then
17-
"$DOCKER_BIN" rmi "$image" &>/dev/null || true
16+
if [[ "$("$DOCKER_BIN" image inspect --format '{{(index .RepoTags 0)}}' "$image" 2>/dev/null)" != "$IMAGE" ]]; then
17+
"$DOCKER_BIN" image rm "$image" &>/dev/null || true
1818
fi
1919
done
2020
}

pre-build

+4-4
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,15 @@ hook-apt-pre-build() {
3232
COMMAND="$(fn-apt-command "$APP" "$IMAGE" "$DIR")"
3333
CID=$(docker run -d "${ARG_ARRAY[@]}" "$IMAGE" /bin/bash -e -c "$COMMAND")
3434

35-
"$DOCKER_BIN" attach "$CID"
36-
if test "$("$DOCKER_BIN" wait "$CID")" -ne 0; then
35+
"$DOCKER_BIN" container attach "$CID"
36+
if test "$("$DOCKER_BIN" container wait "$CID")" -ne 0; then
3737
dokku_log_warn "Failure installing system packages"
3838
return 1
3939
fi
4040

4141
DOCKER_COMMIT_LABEL_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0" "--change" "LABEL org.label-schema.vendor=dokku" "--change" "LABEL com.dokku.app-name=$APP" "--change" "LABEL $DOKKU_CONTAINER_LABEL=")
42-
"$DOCKER_BIN" commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" "$CID" "$IMAGE" >/dev/null
43-
"$DOCKER_BIN" rm "$CID" &>/dev/null || true
42+
"$DOCKER_BIN" container commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" "$CID" "$IMAGE" >/dev/null
43+
"$DOCKER_BIN" container rm "$CID" &>/dev/null || true
4444
}
4545

4646
hook-apt-pre-build "$@"

0 commit comments

Comments
 (0)