Docker生成步骤名称不能以数字开头
我正在为Sybase数据库构建docker映像Docker生成步骤名称不能以数字开头,docker,dockerfile,Docker,Dockerfile,我正在为Sybase数据库构建docker映像Docker build命令失败,因为生成步骤“server”的名称不能以数字开头 我已经寻找了很多方法来更改构建步骤机器的名称,到目前为止,我的解决方案是重试构建,直到我得到一个以字母开头的名称 Step 1/7 : FROM my_image as docker_sybase_db ---> d266899b4eef Step 2/7 : COPY *.zip /mnt/backup/ ---> Using cache ---&
Docker build
命令失败,因为生成步骤“server”的名称不能以数字开头
我已经寻找了很多方法来更改构建步骤机器的名称,到目前为止,我的解决方案是重试构建,直到我得到一个以字母开头的名称
Step 1/7 : FROM my_image as docker_sybase_db
---> d266899b4eef
Step 2/7 : COPY *.zip /mnt/backup/
---> Using cache
---> 9e8e405848ce
Step 3/7 : COPY entrypoint.sh ~
---> Using cache
---> 5c0c923985db
Step 4/7 : ENV HOSTNAME docker_sybase_db
---> Using cache
---> f2b39a7280a0
Step 5/7 : RUN init_db.sh
---> Running in 0ae1a95b3203
Server name '0ae1a95b3203' begins with an illegal character. The first
character of a server name must be an alphabetic ascii character.
Error running command 'srvbuild -r /tmp/my_super_build.rs':
如果我不能修改这个旧的sybase init脚本,我在这里运气不好吗
编辑:以下是我想做的
docker构建tee>((grep--line buffered-Po')(?init_db.sh内部是什么?我的意思是为什么您的脚本将docker层号作为服务器名称?是的,这是SAP发出的命令标准docker Hub数据库映像在实际容器运行之前不尝试设置数据库。您能将此步骤推迟到那时吗(如果尚未初始化,则使用入口点包装脚本进行初始化)?然后您可以docker run--hostname
设置容器认为其主机名是什么。docker run--hostname是不可能的。我需要在映像构建中运行此步骤,因为它需要大约10分钟的预处理时间,我不想每次都这样做。我认为这对我不起作用,该命令需要同时对这两个操作都起作用windows、linux、TFS和azure devops管道。这将使许多不同的命令得到支持,我不认为我会使用这种方法。这是一种非常有创造性的方法,希望它对我有用!@a_V我在阅读您最初的问题时没有意识到这种多平台约束。不过,它应该在任何地方都有效,thr虽然Linux虚拟机在需要的地方。这对我不起作用,我不得不去编辑一些非常旧的遗留脚本来让它在我的端工作,但老实说,这是创造性的,足以让我接受答案。没有比这更好的了。