docker

作者: Markz__ | 来源:发表于2021-08-06 17:11 被阅读0次

    1. 相关概念

    容器: 英文名叫container 集装箱, 实现容器的两种技术,namespace 和cgroup , 在每个namespace中的应用看到的,都是不同的IP地址、用户空间、进程ID等。另一种是CGROUP(网络资源限制),即控制应用使用的系统资源,使一个应用只能用其中的一部分CPU和内存。镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等;

    容器镜像: 将代码和运行环境打包成的包,这样可以在开发、测试、生产这三个码头顺利迁移。镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统;

    镜像是类,容器是对象;

    仓库(Repository) : 仓库可看成一个代码控制中心,用来保存镜像;

    2. 常用操作

    查看镜像:docker images
    查看容器: docker ps

    启动docker:
    如跑centos, docker run -d -i -t image_id /bin/bash

    Docker attach contain-id
    将docker导出为镜像:docker commit contain-id centos:TAG

    通过容器id导出容器:docker export xxxxx > /root/name/abc.tar
    或者 docker export -o centos-4.14.131.tar 容器名

    创建image : docker import centos-4.14.131.tar centos:4.14.131

    拷贝文件:
    docker cp /srcfiledir 96f7f14e99ab:/destfiledir
    docker cp 96f7f14e99ab:/srcdir /desdir

    3. 编译内核

    编译内核方式一:
    下载内核
    https://mirrors.edge.kernel.org/pub/linux/kernel/
    https://mirrors.aliyun.com/linux-kernel

    找一个config文件
    cd /boot/config-3.10.0-957.el7.x86_64

    yum install gcc gcc-c++ flex bison openssl-devel.x86_64 libelf-dev libelf-devel elfutils-libelf-devel python3 unbound bc perf -y

    解压进文件夹
    Make menuconfig -> load -> 选择config文件 -> save -> .config
    各个版本特性不通,使用不同版本的配置文件编译时有极大概率会
    报错。
    debug_info生成:
    make menuconfig ( set CONFIG_DEBUG_INFO=y)
    save .config

    Make rpm-pkg -j48
    编完后的rpm包应该在/root/rpmbuild/RPMS

    编译内核方式二:
    cp /boot/备份的config-xxx ./.config
    make menuconfig
    make -j32
    make modules_install install
    grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
    grub2-set-default 'Centos Linux ....'

    相关文章

      网友评论

        本文标题:docker

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