如何删除docker镜像中已配置的volume
2023-09-11 14:16:57 时间
场景: 有个同学不知道因为啥,将容器内部的 /sys/fs/cgroup 挂载到了外面的某个目录; 但是这个目录是很有用的,不想随便被挂载,如何从image中去掉呢?
docker没有给出一个方便的方法, https://github.com/gdraheim/docker-copyedit 给了一个办法,原理如下:
每个image都是有一个manifest.json 文件的,相关配置信息都在这里了,但是你看不到image文件,更无从去谈修改manifest.json 文件了,所以:
- 先通过docker save 命令将image导出成tar文件:
docker save docker-registry.i.bbtfax.com/bee_centos7 -o /data1/centos7.tar
- 在用tar命令解压文件
tar xf /data1/centos7.tar -C /data1/centos7/
- 在解压后的文件中找到manifest.json 文件,这个文件可能不是你最终要修改的,里面的Config标识了配置文件的位置,应该就是该文件旁边的一个json文件
- 修改配置文件
- 重新打包image
cd/data1/centos7/ ; tar cf ../centos7.modify.tar .
- 导入image
# docker load -i centos7.modify.tar The image phpor.net/bee_centos7:latest already exists, renaming the old one with ID sha256:b14fe97b3bc959677c252e74e0ae318fa26028ac78d236a0973c3e235bf7a68b to empty string Loaded image: phpor.net/bee_centos7:latest
我这里因为已经存在了同名的image,所以,旧的image的名字就被抢走了,但是ID没有变,新导入的image有自己新的ID
相关文章
- kuboard配置的节点,默认是docker启动CPU容器,docker启动改成默认nvidia-docker方式来运行
- 2021 最新 Docker常用命令大全
- docker-maven-plugin:自动构建Maven多模块的Docker镜像,并推送到Docker Registry或阿里云
- Docker:慕课网--第一个docker化的java应用
- jenkins构建jar包为镜像并上传到docker仓库
- Docker swarm 通过 docker-compose 部署应用
- Docker 【网络】配置dns
- docker-compose.yaml文件配置详解
- docker 基本命令 (CentOs7 Docker 17.03.1-ce)
- Docker安装配置及华为云镜像加速
- win本地配置docker环境
- 构建 Docker 镜像的 小技巧
- 《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——第2章 搭建容器运行时环境 2.1标准Linux系统的Docker配置
- Docker - 配置国内加速器加速镜像下载。
- Understanding Docker
- Docker swarm 集群配置
- vscode配置docker插件
- Ubuntu 18.04在已经安装Docker CE后如何安装NVIDIA-Docker,以使docker容器内可以使用宿主机显卡
- 国内高速下载Docker 以及 docker-compose 地址
- 浅析Docker Volume理解:docker内文件系统是如何工作的、镜像启动容器是如何工作的、为什么要使用Volume、如何使用Volume、匿名卷与实名卷的区别
- 1、Docker概述
- 新工具填补Docker管理空白
- 配置Docker中国区官方镜像http://get.daocloud.io/ 很好的一个源http://get.daocloud.io/#install-docker
- <转载>从系统管理员角度看 Docker
- Ubuntu下Jenkins(docker)配置Docker远程启动
- Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
- docker日志