Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;“检索docker inspect”;bash脚本中至少需要1个参数_Bash_Docker - Fatal编程技术网

&引用;“检索docker inspect”;bash脚本中至少需要1个参数

&引用;“检索docker inspect”;bash脚本中至少需要1个参数,bash,docker,Bash,Docker,我试图在bash脚本中检查容器是否已启动并正在运行。我能够检索dockder容器的名称,但我在docker inspect中面临问题 CONTAINER=sudo docker ps -qf "name=pipeline" echo $CONTAINER RUNNING=$(docker inspect -f {{.State.Running}} $CONTAINER 2> /dev/null) STARTED=$(docker inspect -f {{.State

我试图在bash脚本中检查容器是否已启动并正在运行。我能够检索dockder容器的名称,但我在docker inspect中面临问题

CONTAINER=sudo docker ps -qf "name=pipeline"
echo $CONTAINER

RUNNING=$(docker inspect -f {{.State.Running}} $CONTAINER 2> /dev/null)
STARTED=$(docker inspect -f {{.State.StartedAt}} $CONTAINER)
NETWORK=$(docker inspect -f {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}} $CONTAINER)
echo "OK - $CONTAINER is running. IP: $NETWORK, StartedAt: $STARTED"
还尝试了以下格式

 docker inspect --format='{{.State.StartedAt}}' $CONTAINER) with sudo and without sudo
运行bash脚本命令

 bash ./testing.sh
错误


感谢您的帮助

如果您知道容器的名称,您可以在命令中使用它,如
docker inspect
;您不需要初始查找

RUNNING=$(docker-inspect-f'{{.State.RUNNING}}}'管道2>/dev/null)
始终引用希望用作参数的shell变量。如果变量
$CONTAINER
返回为空,但在使用它时会被引用,其中会有一个参数;如果没有引用,它只是从命令中删除。(但是,如果尝试使用空容器名称
docker inspect”“
,则会出现不同的错误。)

STARTED=$(docker-inspect-f'{{.State.StartedAt}}'“$CONTAINER”)
容器专用IP地址在许多环境中都不有用(在MacOS或Windows主机上,如果Docker位于VM内,则从其他主机调用)。我不建议你去查它

如果您只是试图从Docker获取此诊断状态,而不是试图在脚本中对其进行操作,则可以在
-f
模板选项中编写所有内容。将这一切结合起来,我可能会用一个命令替换问题中脚本中的所有内容

docker检查\
-f'容器{{.Id}是{.State.Status},从{{.State.StartedAt}开始'\
管道

不要在脚本中编写
sudo
,如果需要运行
docker
命令,请使用
sudo
权限运行脚本。

非常感谢您的回答,您为我们这样的新手提供了很多建议,这些建议非常有用@DavidMaze
"docker inspect" requires at least 1 argument.
 See 'docker inspect --help'.
 Usage:  docker inspect [OPTIONS] NAME|ID [NAME|ID...]
 Return low-level information on Docker objects
 Template parsing error: template: :1: unexpected unclosed action in range
 OK -  is running. IP: , StartedAt: