gpt4 book ai didi

wordpress - Dockerfile中的参数未作为执行命令传递

转载 作者:行者123 更新时间:2023-12-02 18:21:12 24 4
gpt4 key购买 nike

在我的Dockerfile中,我试图下载最新的WordPress版本,但其中没有任何内容,但是我在自动执行最新版本号方面遇到了麻烦,因此,当新版本的WordPress发布时,我不必手动更改它。

在我的Dockerfile中

ARG LATESTWPVER="$(curl -s https://api.wordpress.org/core/version-check/1.5/ | head -n 4 | tail -n 1)"
ADD $(https://downloads.wordpress.org/release/wordpress-$LATESTWPVER-no-content.zip) /var/www/latest.zip

但是问题是我的 LATESTWPVER不是 4.9.8,我得到了错误

ADD failed: stat /var/lib/docker/tmp/docker-builder962069305/$(https:/downloads.wordpress.org/release/wordpress-$(curl -s https:/api.wordpress.org/core/version-check/1.5/ | head -n 4 | tail -n 1)-no-content.zip): no such file or directory



它传递了整个命令,我希望获得该命令的输出。

在我的shell文件中
#!/bin/bash

WP_LATEST="$(curl -s https://api.wordpress.org/core/version-check/1.5/ | head -n 4 | tail -n 1)"
echo $WP_LATEST

将返回数字 4.9.8

从错误中,我猜测您只能将某些内容分配给变量,而不能执行它。有没有一种方法可以执行命令并将其分配给变量并将其作为参数传递?

最佳答案

Dockerfile不是 shell 程序或构建脚本,因此它不会执行您在ARG中传递的内容。有一种解决方法-将版本定义为ARG并在构建过程中将其传递。

Dockerfile:

-

FROM ubuntu:latest
ARG LATESTWPVER
RUN echo $LATESTWPVER
ADD https://downloads.wordpress.org/release/wordpress-$LATESTWPVER-no-content.zip /var/www/latest.zip
docker build --build-arg LATESTWPVER=`curl -s https://api.wordpress.org/core/version-check/1.5/ | head -n 4 | tail -n 1` .
Sending build context to Docker daemon 6.656kB
Step 1/4 : FROM ubuntu:latest
---> 113a43faa138
Step 2/4 : ARG LATESTWPVER
---> Using cache
---> 64f47dcfe7fa
Step 3/4 : RUN echo $LATESTWPVER
---> Running in eb5fdd005d77
4.9.8
Removing intermediate container eb5fdd005d77
---> 1015629b927e
Step 4/4 : ADD https://downloads.wordpress.org/release/wordpress-$LATESTWPVER-no-content.zip /var/www/latest.zip
Downloading [==================================================>] 7.118MB/7.118MB

---> 72f0d3790e51
Successfully built 72f0d3790e51

关于wordpress - Dockerfile中的参数未作为执行命令传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52110908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com