• docker将容器打包成新镜像


    平常写dockerFile,让我很头疼,很麻烦,有些docker不支持的,然后还要写shell脚本,让docker去执行,而且有些命令,权限还不支持,所以配置很麻烦。而我的大环境又是不会经常改变的,不用经常加外部文件之类的。所以在容器内直接操作好,打包成镜像可以免去繁琐的,脚本。

    但是如果,你需要经常加file文件,还是从dockerFile入手比较好。我的文件都是通过hdfs从外部读取。

    当然,最终我是觉得,最好的方式是舍去繁琐shell和dockerFile,dockerFile只用些简单的命令,如copy文件。然后我们进入容器,能快速的配置,配置完成后,在外部装一个httpd服务,我们需要修改容器的时候,直接从通过http请求的方式,下载内容,到docker容器内。这样就能完全避免,频繁的改dockerFile,频繁的测试,因为这种我觉得真的很笨蛋。

    所以结论就是:在容器内,做配置是最好,也是最方便的,没有之一

    默认docker,在你修改配置后,关闭docker后,配置都会初始化。

    下面是操作:

    修改的linux内容不会被保存,退出后就会被覆盖,唯一不会覆盖的文件是

    vi ~/.bashrc

    在里头写linux命令,即可(每次启动docker,他会自动执行里面的命令)

     

    我刚刚进入了容器修改完了内容

    现在退出容器:

    docker ps -a看一下

    sudo docker commit -a "clark" -m "create new img" 8a7419ac92aa sparkdemo:v0

    然后执行完,你就能看到一条

    你image一下,就能看到这个镜像了

    sudo docker image ls

    完成,到这里就完成了


    将镜像打成包

    sudo docker save -o sparkdemo.tar sparkdemo:v1

    把之前的镜像,删除,docker stop 容器名

    docker rm 容器名

    docker rmi 镜像:版本

    然后加载,打包后的镜像

    docker load -i sparkdemo.tar

    你现在,进入容器,看看配置有没有被更改

    docker run -it --entrypoint /bin/bash --name upcontainer 镜像名:镜像版本

    发现已经被更改,说明成功

     

  • 相关阅读:
    c语言alpha-beta剪枝六子棋
    自媒体账号如何运营赚钱?
    16.webpack4生产环境配置
    Zookeeper集群安装部署、Kafka集群安装部署
    AcrelEMS-MED医院能源管理系统解决方案
    互联网智慧工地源码,“互联网+建筑大数据”SaaS微服务架构,支持PC端、手机端、数据大屏端
    【支持向量机】问题梳理
    实训笔记——Spark计算框架
    数据预处理和特征工程1--无量纲化:数据归一化、标准化
    单点登录与网络犯罪生态系统
  • 原文地址:https://blog.csdn.net/qq_38403590/article/details/126242240