我已将DTR安装在一个单一的管理器,工人群集上(在设置适当的环境之前先玩弄它以获得更好的理解)
DTR安装成功。我想卸载DTR,并且卸载它没有任何问题。以下命令用于基于文档的卸载活动。
docker run -it --rm \
> docker/dtr:2.5.3 destroy \
> --ucp-insecure-tls
运行docker ps确认与DTR关联的容器不再运行。
但是,当我登录到UCP时,仍然可以看到旧的DTR,并且看不到删除它的方法。
我很困惑,不确定如何清理并创建新的DTR。
答案 0 :(得分:2)
docker / dtr destroy 命令,根据DTR CLI usage documentation强行且以非阻塞方式删除 现有DTR复制副本的卷和容器。
此外,如Docker论坛(https://forums.docker.com/t/uninstalling-dtr-doesnt-update-ucp-ui/31788/2)所述,这似乎是DTR的老问题。
如何修复它在一个Docker知识库article中进行了概述。 报告的步骤如下:
运行以下命令以查看当前的UCP配置文件
# CURRENT_CONFIG_NAME will be the name of the currently active UCP configuration
CURRENT_CONFIG_NAME=$(docker service inspect ucp-agent --format '{{range .Spec.TaskTemplate.ContainerSpec.Configs}}{{if eq "/etc/ucp/ucp.toml" .File.Name}}{{.ConfigName}}{{end}}{{end}}')
# Collect the current config with `docker config inspect`
docker config inspect --format '{{ printf "%s" .Spec.Data }}' $CURRENT_CONFIG_NAME > ucp-config.toml
编辑ucp-config.toml文件,并删除文件底部陈旧DTR条目的[[registries]]部分。
运行以下命令以从文件创建并应用配置:
# NEXT_CONFIG_NAME will be the name of the new UCP configuration
NEXT_CONFIG_NAME=${CURRENT_CONFIG_NAME%%-*}-$((${CURRENT_CONFIG_NAME##*-}+1))
# Create the new swarm configuration from the file ucp-config.toml
docker config create $NEXT_CONFIG_NAME ucp-config.toml
# Use the `docker service update` command to remove the current configuration and apply the new configuration to the `ucp-agent` service.
docker service update --config-rm $CURRENT_CONFIG_NAME --config-add source=$NEXT_CONFIG_NAME,target=/etc/ucp/ucp.toml ucp-agent
等待几秒钟以重新启动
ucp-agent
。
确认已在UCP UI(用户名>管理设置> Docker可信注册表)页面上删除了过时的DTR条目。