首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BUSYBOX脚本错误

BUSYBOX脚本错误
EN

Stack Overflow用户
提问于 2021-02-04 22:54:34
回答 1查看 329关注 0票数 0

我需要在busybox容器中启动脚本,当我完成我的撰写文件时,它将输出busybox正在运行的日期和单词,我只看到:

代码语言:javascript
复制
busybox_1 | tail: invalid number 'sh ./5sec.sh'

这是我的剧本:

代码语言:javascript
复制
while true; do
sleep 5
date
echo busybox is running
done

这是我的Dockerfile

代码语言:javascript
复制
  FROM busybox:noauto
    COPY /5sec.sh /5sec.sh
    RUN chmod 777 5sec.sh
    CMD ./5sec.sh

这是我的撰写文件(以防万一):

代码语言:javascript
复制
version: '3'
services:
nginx:
image: "nginx:latest"
env_file: .env
ports:
- $HTTP_PORT:80
volumes:
- nginx-vol:/var/log/nginx
busybox:
image: "busybox:noauto"
volumes:
- nginx-vol:/var/log/nginx
volumes:
nginx-vol:

请帮帮我。如何自动启动脚本。(抱歉英语不太好)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-04 23:37:11

我不知道这个码头形象busybox:noauto是什么(可能是你在本地建立的形象),我想这就是你问题的原因。看起来这个图像有一些带有RUN命令的tail或者类似的东西。

我建议对您的基本映像使用一些来自dockerhub的标准busybox,例如busybox:1

代码语言:javascript
复制
 FROM busybox:1
    COPY /5sec.sh /5sec.sh
    RUN chmod 777 5sec.sh
    CMD ./5sec.sh

第二个问题,如果您想从您的build中自己构建图像,那么您应该在docker-compose.yaml中使用docker-compose.yaml而不是image

代码语言:javascript
复制
version: '3'
services:
  nginx:
    image: "nginx:latest"
    env_file: .env
    ports:
      - $HTTP_PORT:80
    volumes:
      - ./nginx-vol:/var/log/nginx
  busybox:
    build: .
    volumes:
      - ./nginx-vol:/var/log/nginx

这应该能解决你的问题。

备注:

  • chmod 777不是一个好的实践
  • 在您的情况下,脚本应该以谢邦 - #!/bin/sh开头。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66055072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档