docker将容器打包成新镜像

23 篇文章 3 订阅
22 篇文章 1 订阅

平常写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 镜像名:镜像版本

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

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值