繁体   English   中英

使用docker-compose启动容器时执行命令时出错

[英]Error in executing a command when starting a container using docker-compose

我要启动容器,一旦容器运行,就在容器中启动服务。 我正在使用docker-compose文件,并在其“命令”部分中启动我的服务,如下所示

services:
  service1:
    image: image_name:tag
    container_name: cname
    command:
         - exec start_service $VAR1 $VAR2
    ports:
        - "5458:5000"
    env_file: ./variables.txt

VAR1VAR2值来自env_file部分中指定的variables.txt文件。 容器的$ PATH中也存在start_service 当我启动docker-compose时,它首先显示一些警告,提示未设置VAR1VAR2 ,并且还会出现以下错误消息,提示错误。

 Cannot start service service1: oci runtime error: container_linux.go:235: starting container process caused "exec: \"exec start_service   \": executable file not found in $PATH".

因此,看起来该命令是在设置环境变量之前执行的,并且它还说start_service不在$ PATH中,这是不正确的。

这是怎么了

ps我做了一些测试,并在docker-compose中注释了该命令,当容器启动时,我转到了该容器,并确保$ PATH中存在start_service

您无需将exec放在start_service之前。 Docker将为您做到这一点,因此,如果您仔细查看错误消息,您会注意到exec: \\"exec start_service \\"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM