docker容器镜像等相关文件目录迁移

迁移目的:

默认装在系统盘的,一般云服务器系统盘40G左右很容器就满了,这个时候必须做迁移了

首先记录一条清理镜像的命令

# 以下命令清除无用的镜像
docker image prune -a -f

# 容器因有回滚的需求,只做手动删除!!

以下方法亲手验证可行

docker默认存储目录是/var/lib/docker,下面操作用systemctl,不用service,因为用service的话有个地方会不生效

systemctl stop docker

在大空间的磁盘上创建目录

mkdir -p /home/cjh

迁移所有文件到新建的目录(注意这里复制过去会产生docker目录,所以下面的路径配置是/home/cjh/docker)

cp /var/lib/docker /home/cjh

文件配置

mkdir -p /etc/systemd/system/docker.service.d/
vi /etc/systemd/system/docker.service.d/devicemapper.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --graph=/home/cjh/docker

重新加载配置和服务

systemctl daemon-reload

systemctl restart docker

systemctl enable docker

服务启动正常了,但是启动容器的时候报了个错:“docker-runc not installed on system”

解决办法:
cd /usr/libexec/docker/
ln -s docker-runc-current docker-runc

附上参考的博客:https://www.cnblogs.com/insist-forever/p/11739207.html

转载请注明博客出处:http://www.cnblogs.com/cjh-notes/

原文地址:https://www.cnblogs.com/cjh-notes/p/12197968.html

时间: 2024-11-09 12:56:26

docker容器镜像等相关文件目录迁移的相关文章

运行docker容器镜像

docker容器可以理解为在盒中运行的进程. 这个盒包含了该进程运行所必须的资源,包括文件系统.系统类库.shell 环境等等. 但这个盒默认是不会运行任何程序的. 1.运行镜像之前,可以先查看本地有那些镜像. # docker images 2.最简单的运行镜像的命令: # docker run 镜像名称 3.查看运行中的容器: # docker ps 4.查看所有的容器镜像 # docker ps -a 5.刚开始使用 Docker ,运行完一个容器,再次运行这个容器,原来的容器内的内容已经

使用Aliyun Docker 容器镜像/注册表服务

1.前往阿里云容器镜像服务创建相关资源. 2.登录你的仓库,账户名+公共地址 docker login --username=xxxxxxxxx@aliyun.com registry.cn-hangzhou.aliyuncs.com 3.推送镜像上Aliyun镜像注册表. docker login --username=ap2337h2v@aliyun.com registry.cn-hangzhou.aliyuncs.com docker tag [ImageId] registry.cn-

HyperLedger/Fabric SDK使用Docker容器镜像快速部署上线

HyperLedger/Fabric SDK Docker Image 该项目在github上的地址是:https://github.com/aberic/fabric-sdk-container (感谢Star). 这是一个基于fabric-sdk-java的项目,该项目的主要目的是简化HyperLedger/Fabric开发人员在SDK应用层上的工作流程,使得开发和部署更加简单. 该项目使用方便,只需要你的服务器上部署有Docker及docker compose环境即可,通过docker-c

[Docker]容器镜像

 1.rootfs的基础知识 Mount namespaces 隔离的是文件系统挂接点,它使每个容器能看到不同的文件系统层次结构,即每当创建一个新容器时,希望容器进程看到的文件系统时一个独立的隔离环境,而不是继承自宿主机的文件系统. Mount Namespace修改的是容器进程对文件系统挂载点的认知.这意味着只有在挂载操作(mount)发生之后,进程的视图才会发生改变,而在此之前,新创建的容器会直接继承宿主机的各个挂载点.因而在创建新进程时,除了声明要启用的Mount  Namespace之外

Docker容器——镜像管理,端口映射,容器互联

docker镜像的分层  Dockerfile 中的每个指令都会创建一个新的镜像层: 镜像层将会被缓存和复用: 当 Dockerfile 的指令修改了,复制的文件变化了,或者构建镜像时指定的变量不同了,对应的镜像层缓存就会失效: 某一层的镜像缓存失效之后,它之后的镜像层缓存都会失效: 镜像层是不变的,如果在某一层中添加一个文件,然后在下一层中删除它,则镜像中依然包含该文件 docker镜像 是应用发布的标准格式 可支撑一个docker容器的运行 docker镜像的创建方法 基于已有镜像创建 基于

docker对镜像的相关操作

一.创建镜像 在现有镜像的基础上启动一个容器 [[email protected] ~]# docker images REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE centos              centos7             7322fbe74aa5        6 days ago          172.2 MB centos  

Docker容器镜像删除

好吧,本来认为删除镜像是一件很容易的事情,但刚开始上手,还是有点百思不得其解.删着删着,发现果然很容易.分享下本人的心得: 分两种情况:那么要删除镜像,首先得删除容器,删除容器时,确保容器已停止运行:2 :删除容器和删除镜像的命令略微有点差别:删除容器(rm),删除镜像(rmi).整个过程如下: 1 查询当前镜像(docker image): 可以看到,当前镜像有nginx和tomcat.我想删除tomcat镜像,它的IMAGE ID 为:41a54fe1f79d 2 查询容器(docker p

Docker 容器, 镜像, 及注册

When using Docker, a developer creates an app or service and packages it and its dependencies into a container image. An image is a static representation of the app or service and its configuration and dependencies. To run the app or service, the app

Docker 容器镜像删除

停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q) 如果想要删除所有container的话再加一个指令: docker rm $(docker ps -a -q)