我是devops技术的初学者。我有一个运行在linux机器上的Jenkins/docker容器,我想迁移到windows10pro机器上。为了准备迁移,我测试了docker桌面,并使用一些测试用户和配置成功运行了jenkins:lts镜像。
当我尝试删除测试容器并重新创建一个新的容器,以便可以将jenkins实时数据移动到那里时,窗口停靠器继续查找测试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中没有临时文件。
所以旧的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
发布于 2021-02-24 09:36:42
在您的docker-compose
文件中,您创建了即使在删除旧的配置文件和镜像之后也被缓存的资源。删除docker镜像只会使您重新拉取或重新创建jenkins/jenkins:lts
镜像。--force-recreate
标志仅在容器的配置未更改时才会重新构建容器。
但是,您需要运行docker system prune
来删除未使用的资源(例如需要显式删除的jenkins
卷)。以下是此命令的docs。或者,您可以运行docker system prune -a --volumes
仅删除未使用的卷,而保留任何其他网络或其他资源。
https://stackoverflow.com/questions/66336310
复制相似问题