生成镜像
最近更新时间:2018-05-10 18:00:00
如果区分架构:
星域云是通过镜像名称加后缀进行识别镜像基于什么指令集硬件构建,并且支持镜像组模式,目前支持以下种
_x86
:表示使用x86 32位构建,如:hello_x86:v1.0.0 只能选取x86 32位系统的节点
_aarch64
:表示使用armv8构建,如:hello_aarch64:v1.0.0只能选取armv8的架构的节点
_arm32
:表示使用armv7构建,如:hello_arm32:v1.0.0 只能选取armv7的架构节点
_x86_64
:表示使用x86 64位构建,如:hello_x86_64:v1.0.0 只能选取x86 64位系统的节点无后缀:表示使用armv7构建的,如:hello:v1.0.0只能选取armv7的架构的节点
什么是镜像组:
镜像组表示同一个主镜像名称,同一版本,不同后缀的组合
镜像组可以用于同一任务支持不同架构(后缀决定)的节点可使用
构建docker
环境需求:
1、需要在系统中安装docker,步骤参考官方安装指引
3、静态编译镜像
执行以下步骤:
-
创建
galaxy
目录,将hello
程序文件放在galaxy
目录下,并确保其具备可执行权限 -
将下列内容写入文件
dockerfile
并放在galaxy
目录下。注意其中CMD
一项指定执行的程序为hello
,如果换用其他程序,需做相应修改
FROM scratch
ENV WORKER_DIR /usr/local/xycloud
COPY . $WORKER_DIR
CMD ["/usr/local/xycloud/hello"]
-
进入
galaxy
目录,执行docker build -f dockerfile -t hello:v1.0 ./
即可完成构建 -
使用
docker images
命令可查看本地生成的hello
镜像
注意: 本示例基于空镜像
scratch
来构件hello
镜像,不携带libc
等常用依赖库。可执行程序在编译时可选择静态链接依赖库(-static
)或自行在镜像中添加依赖库,否则程序运行会因缺少依赖库而失败。更多的docker镜像定制说明,请参考docker官方文档。