向Dockerfile传入参数
2019-07-19 本文已影响0人
王勇1024
背景
机器学习平台需要支持TensorFlow训练,TensorFlow训练既可以使用CPU,也可以使用GPU。而这两种情况下Docker 基础镜像不同。因此我需要在构建镜像时根据所使用资源类型,来动态设置基础镜像。
1. 在Dockerfile中接收并使用参数
ARG BASE_IMAGE
FROM docker2.xxxx.com:5000/centos7/$BASE_IMAGE
2. 在docker build
命令传入参数
# 目标镜像版本号
VERSION=v1.0.0
# 目标镜像
TARGET_IMAGE=docker2.xxxx.com:5000/centos7/tensorflow/tf-nn-model:${VERSION}
# 构建目标镜像
sudo docker build --build-arg BASE_IMAGE=tensorflow-cpu/tf-cpu:vpb35 -t ${TARGET_IMAGE} .