如何将parameter passing给Docker文件(具体到FROM指令)
我正在尝试使ubuntu版本作为参数,值应该从docker-compose文件中获得。
撰写文件:
version: '2' services: rahul: container_name: rahul_container build : context: . dockerfile: Dockerfile args: - uv=ubuntu:16.04 image : rahul_image
Dockerfile:
FROM scratch ARG uv FROM $uv
输出:错误:服务'rahul'未能build立:错误parsing引用:“$ uv”不是一个有效的存储库/标记
看起来像价值不被取代。 从“$ {uv}”尝试,但同样的错误
今天是不可能的 问题允许在FROM
#18119中使用ENV或ARG自2015年11月20日起满足您的需求。今天它已经开放。
感谢@ user2915097。 我已经创build了shell脚本,它将创builddocker文件并放置我想要的参数…
#!/bin/bash echo $1 gcc_v=$2 echo $gcc_v g_v=0 cat > Dockerfile <<EOL FROM $1 EOL while IFS='' read -r line || [[ -n "$line" ]]; do g_v=$((g_v+1)) if [[ ($g_v == 14) ]]; then echo "$line$2" >> Dockerfile else echo "$line" >> Dockerfile fi done < "docker_gcc" docker build -t mygccapp .
$ ./tesh.sh ubuntu.16.04 6.3.0
输出:Dockerfile
FROM ubuntu:16.04 . . .