关于docker制作容器镜像相关
·
背景:
在测试机器上,通过镜像创建了可运行的容器,在容器改了默认配置参数,需要把容器制作成生产环境下的镜像。
问题现象:
通过export 把容器生成tar包,然后load、import方式在另外一台机器run 后,
提示:
docker: Error response from daemon: No command specified.
在run 的最后加上 /bin/bash /bin/sh /docker-entrypoint.sh
提示:
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/bin/bash": stat /bin/directory: unknown.
,发现容器无法运行,端口不通
问题分析:
export容器后,镜像的命令入口丢失,通过 docker inspect 镜像名:版本 命令查看,是否有 Entrypoint 属性配置。没有的话容器是无法正常运行的,需要在运行时特殊处理,比较麻烦
参考:
https://www.doubao.com/thread/wc464fd4fe136b6ce
解决方法:
1、先把容器 commit 成镜像
docker commit mycontainer myimage:latest
2、保存镜像到本地
docker save -o myimage.tar myimage:latest
3、在生成环境导入镜像
docker load -i myimage.tar
4、再通过run即可正常运行
docker run ....
更多推荐
所有评论(0)