我需要在busybox容器中启动脚本,当我完成我的撰写文件时,它将输出busybox正在运行的日期和单词,我只看到:
busybox_1 | tail: invalid number 'sh ./5sec.sh'这是我的剧本:
while true; do
sleep 5
date
echo busybox is running
done这是我的Dockerfile
FROM busybox:noauto
COPY /5sec.sh /5sec.sh
RUN chmod 777 5sec.sh
CMD ./5sec.sh这是我的撰写文件(以防万一):
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:请帮帮我。如何自动启动脚本。(抱歉英语不太好)
发布于 2021-02-04 23:37:11
我不知道这个码头形象busybox:noauto是什么(可能是你在本地建立的形象),我想这就是你问题的原因。看起来这个图像有一些带有RUN命令的tail或者类似的东西。
我建议对您的基本映像使用一些来自dockerhub的标准busybox,例如busybox:1。
FROM busybox:1
COPY /5sec.sh /5sec.sh
RUN chmod 777 5sec.sh
CMD ./5sec.sh第二个问题,如果您想从您的build中自己构建图像,那么您应该在docker-compose.yaml中使用docker-compose.yaml而不是image
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开头。https://stackoverflow.com/questions/66055072
复制相似问题