通过已有容器创建
保留容器原镜像的配置参数
保留容器内更改或是新增的文件,保留容器原镜像的运行参数。 通过容器详情页面中的【另存为镜像】功能将容器保存为镜像。
更改镜像配置参数
如果你的容器是基于 ubuntu、alpine 系统直接保存为镜像时,缺少 entrypoint、expose 等参数。 需要通过导出、导入容器 Tar 包的方式构建镜像。
与 Dockerfile 构建的区别
Dockerfile 是先记录你的命令,然后在构建的时候执行。而使用此方法是把你的执行结果转化成镜像。
容器中的持久化存储
导出容器时,持久化的目录是无法被导出。多数情况下,此方法更适合于从基础镜像开始构建自己的镜像。
镜像配置
CMD
通过导出容器创建镜像时,必须指定启动 CMD 命令,否则通过该镜像创建容器时会无法正常启动。
WorkDir
配置导入后的镜像工作目录,一般会指定到程序运行的目录,比如 /app、/home
暴露端口
配置导入后的镜像需要向外部暴露访问的端口,一行配置一个端口。例如:9000
环境变量
配置导入后的镜像需要用户配置的环境变量,一般用于配置数据库、redis 之类的外部依赖。
存储卷目录
配置导入后的镜像需要持久化存储的目录,一般用于配置附件存储目录。