微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法删除 Windows 10 wsl 中的 jenkins docker 旧持久数据,

如何解决无法删除 Windows 10 wsl 中的 jenkins docker 旧持久数据,

我是 DevOps 技术的初学者。我在 linux 机器上有一个正在运行的 Jenkins/docker 容器,并且想转移到 Windows 10 专业版机器上。为了准备迁移,我测试了 docker 桌面并使用一些测试用户和配置成功运行了 jenkins:lts 映像。

当我尝试删除测试容器并重新创建一个新容器以便将 jenkins 实时数据移动到那里时,窗口 docker 继续查找测试 jenkins 容器的旧配置文件

我已经彻底删除了 docker 几次,包括所有与 wsl2 相关的文件夹,还删除了 user/appdata 文件夹中的所有 docker 东西。但是当我重新创建 jenkins 容器时,它仍然能够找到一些旧的配置并向我展示这个。

hudson.WebAppMain#contextinitialized: Jenkins home directory: /var/jenkins_home found at: EnvVars.masterEnvVars.get("JENKINS_HOME")

我尝试了以下命令,但仍然无法 (1) 定位和 (2) 删除旧配置。有一点,当我重新安装docker,并且第一次构建jenkins容器时,\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes created.

所以旧的 docker 配置必须在某处。感谢您的帮助。

docker-compose up --force-recreate -V
docker-compose down -v

我的 docker-compose 文件在这里。感谢帮助

version: '3.8'
services:
  jenkins:
    image: jenkins/jenkins:lts
    privileged: true
    user: root
    ports:
      - 8080:8080
      - 50000:50000
    container_name: jenkins
    volumes:
      - ~/jenkins:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock

volumes:
  jenkins:
    driver: local

解决方法

在您的 docker-compose 文件中,您创建的资源即使在删除旧的配置文件和图像后也会被缓存。删除 docker 镜像只会让您重新拉取或重新创建 jenkins/jenkins:lts 镜像。 --force-recreate 标志只会在其配置未更改的情况下重建容器。

但是,您需要运行 docker system prune 来删除未使用的资源(例如需要明确删除的 jenkins 卷)。这是此命令的 docs。或者,您可以运行 docker system prune -a --volumes 来仅删除未使用的卷,保留任何其他网络或其他资源。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。