我已将DTR安装在单个管理器, worker 群集上(在设置适当的环境之前先玩弄它以获得更好的理解)
DTR安装成功。我想卸载DTR,并且卸载它没有任何问题。以下命令用于基于文档的卸载 Activity 。
docker run -it --rm \
> docker/dtr:2.5.3 destroy \
> --ucp-insecure-tls
运行docker ps确认与DTR关联的容器不再运行。
但是,当我登录到UCP时,仍然看到旧的DTR,并且看不到删除它的方法。
我感到困惑,不确定如何清理并创建新的DTR。
最佳答案
docker / dtr会根据DTR CLI usage documentation强制销毁命令,并以非阻塞方式删除
现有DTR复制副本的卷和容器。
此外,正如在Docker论坛(https://forums.docker.com/t/uninstalling-dtr-doesnt-update-ucp-ui/31788/2)上所说,这似乎是DTR的老问题。
一个Docker知识库article中总结了如何修复它。
报告的步骤如下:
# 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
# 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
关于docker - 如何卸载Docker Trusted Registry(DTR)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51397119/