美文网首页
将Linux的系统制作成Docker镜像

将Linux的系统制作成Docker镜像

作者: yanlong107 | 来源:发表于2021-12-16 11:07 被阅读0次

前言

DockerHub 上有很多的镜像,可以满足大部分的需求。这种情况我们就可以直接通过docker pull ** 从DockerHub上获取对应的镜像。
当然还有一些情况,我们需要的镜像DockerHub上不存在,例如:Linux信创的环境,在DockerHub上就很难知道对应的镜像,如果需要这种镜像的话就需要通过运行的系统来制作镜像了。

具体步骤

1. 对系统进行压缩

  • 查看系统目录
$ cd /
$ ls
bin  boot  data  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

/proc/sys/run/dev这几个目录都是系统启动时自动生成的,虽然也属于文件系统一部分,但是他们每次开机都会有变化,所以打包的时候就应该忽略它们

  • tar 完成系统压缩包
    1、可以选择/跟目录,然后--exclude排除不需要的目录
    2、也可以直接选择需要压缩的目录
tar -cvpf /tmp/system.tar --directory=/ --exclude=proc --exclude=sys --exclude=dev --exclude=run --exclude=boot .

or 

tar -cvpf /tmp/system.tar bin data  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  root  sbin  srv  tmp  usr  var

参数说明:
-c或--create 建立新的备份文件
-f<备份文件>或--file=<备份文件> 指定备份文件
-p或--same-permissions 用原来的文件权限还原文件
-v或--verbose 显示指令执行过程
z或--gzip或--ungzip 通过gzip指令处理备份文件
--numeric-owner 以用户识别码及群组识别码取代用户名称和群组名称

tar 命令更多参数可参考:
Linux tar 命令
Linux tar.gz、tar、bz2、zip 等解压缩、压缩命令详解

2. 导入docker

导入docker之前,最好修改下docker的默认存储路径。
具体修改方法可参考: Linux 下修改Docker默认存储路径

  • tar 导入docker
$ docker import /tmp/system.tar linux:10.1
// linux:10.1  是自定义的镜像和tag名称

or 

cat /tmp/system.tar | docker import - linux:10.1

运行镜像容器

tips: 运行导入的镜像的时候必须带command,否则启动报如下错误. 最后的/bin/bash 不能少

$ docker run -it -d **** /bin/bash

提示: 制作的镜像文件太大,会导致启动容器时候失败: Getting the final child's pid from pipe caused "EOF"

参考文章:
[Docker 镜像导出和导入] https://yeasy.gitbook.io/docker_practice/container/import_export

相关文章

  • 将Linux的系统制作成Docker镜像

    前言 DockerHub 上有很多的镜像,可以满足大部分的需求。这种情况我们就可以直接通过docker pull ...

  • ubuntu docker介绍及安装

    docker 介绍 镜像(Image) Docker镜像就是一个Linux的文件系统(Root FileSyste...

  • Swoft+Docker

    Docker 以下纯属个人理解: Docker就是一种虚拟机,将环境打包成镜像,等于做了一个Linux系统裁剪。 ...

  • Docker入门

    Docker是容器技术,容器仿真了Linux系统,提供一个有限的系统能力。 Docker容器依靠docker镜像创...

  • Docker操作

    1.在Linux系统里安装Docker 步骤: 2.在docker仓库查找镜像 3.下载镜像 4.查看已下载的镜像...

  • Docker镜像管理

    镜像是什么 简单说,Docker镜像是一个不包含Linux内核而又精简的Linux操作系统 镜像从哪里来 Dock...

  • ranche 中使用 alpine dns 注意事项

    Alpine Linux Docker镜像基于Alpine Linux操作系统,后者是一个面向安全的轻型Linux...

  • 在阿里云安装docker及其使用

    我买的阿里云的镜像是centos系统,对于linux系统而言,装个docker真的很方便。 docker安装/启动...

  • docker.镜像管理

    第二节.docker镜像管理 介绍docker镜像是一个不包含Linux内核的操作系统[root@data doc...

  • centos7修改docker默认目录

    docker引擎安装之后,在Linux系统下会生成一个docker目录,用于存储下载的docker镜像,时间久了会...

网友评论

      本文标题:将Linux的系统制作成Docker镜像

      本文链接:https://www.haomeiwen.com/subject/tvmpfrtx.html