diff options
author | Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp> | 2021-02-26 14:43:24 +0900 |
---|---|---|
committer | Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp> | 2021-02-26 14:43:24 +0900 |
commit | f2f1c0fe38fd36ebd5ca6596367b08a43eb59c2a (patch) | |
tree | 3c8e0c25cb66696119c9754b894621ab8926238e /contrib/dockerd-rootless-setuptool.sh | |
parent | 2ae2ddf51d22d8c24496c0906fe6f9d77aa34512 (diff) | |
download | docker-f2f1c0fe38fd36ebd5ca6596367b08a43eb59c2a.tar.gz |
dockerd-rootless-setuptool.sh: create CLI context "rootless"
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
Diffstat (limited to 'contrib/dockerd-rootless-setuptool.sh')
-rwxr-xr-x | contrib/dockerd-rootless-setuptool.sh | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/contrib/dockerd-rootless-setuptool.sh b/contrib/dockerd-rootless-setuptool.sh index 66f2093e1a..4864b0a905 100755 --- a/contrib/dockerd-rootless-setuptool.sh +++ b/contrib/dockerd-rootless-setuptool.sh @@ -23,6 +23,7 @@ ERROR() { # constants DOCKERD_ROOTLESS_SH="dockerd-rootless.sh" SYSTEMD_UNIT="docker.service" +CLI_CONTEXT="rootless" # CLI opt: --force OPT_FORCE="" @@ -350,6 +351,23 @@ install_nonsystemd() { echo } +cli_ctx_exists() { + name="$1" + "${BIN}/docker" context inspect -f "{{.Name}}" "${name}" > /dev/null 2>&1 +} + +cli_ctx_create() { + name="$1" + host="$2" + description="$3" + "${BIN}/docker" context create "${name}" --docker "host=${host}" --description "${description}" > /dev/null +} + +cli_ctx_rm() { + name="$1" + "${BIN}/docker" context rm -f "${name}" > /dev/null +} + # CLI subcommand: "install" cmd_entrypoint_install() { # requirements are already checked in init() @@ -359,6 +377,14 @@ cmd_entrypoint_install() { install_systemd fi + if cli_ctx_exists "${CLI_CONTEXT}"; then + INFO "CLI context \"${CLI_CONTEXT}\" already exists" + else + INFO "Creating CLI context \"${CLI_CONTEXT}\"" + cli_ctx_create "${CLI_CONTEXT}" "unix://${XDG_RUNTIME_DIR}/docker.sock" "Rootless mode" + fi + + echo INFO "Make sure the following environment variables are set (or add them to ~/.bashrc):" echo if [ -n "$XDG_RUNTIME_DIR_CREATED" ]; then @@ -390,6 +416,11 @@ cmd_entrypoint_uninstall() { INFO "Uninstalled ${SYSTEMD_UNIT}" fi + if cli_ctx_exists "${CLI_CONTEXT}"; then + cli_ctx_rm "${CLI_CONTEXT}" + INFO "Deleted CLI context \"${CLI_CONTEXT}\"" + fi + INFO "This uninstallation tool does NOT remove Docker binaries and data." INFO "To remove data, run: \`$BIN/rootlesskit rm -rf $HOME/.local/share/docker\`" } |