gpt4 book ai didi

linux - Bash 脚本执行 Docker 容器操作并提取容器 IP 地址

转载 作者:太空宇宙 更新时间:2023-11-04 04:07:56 25 4
gpt4 key购买 nike

我正在尝试编写一个 Linux bash 脚本,该脚本创建并运行 docker 容器,该容器运行一个简单的 python Web 服务器、提取容器 IP 地址并通过浏览器向服务器发出 HTTP 请求。我的脚本中似乎存在一些错误,我需要帮助来编辑它。我是 bash 脚本新手。我使用Ubuntu 13.10

我的脚本:

#!/bin/bash
for i in {1..2}
do
echo "Creating and Running Container $i "
sudo docker run -name $i PythonServer
IP=sudo docker inspect $i | grep IPAddress | cut -d '"' -f 4
echo "Ip Address is:"
echo "${IP}"
xdg-open 'http://$IP:7111/execute'
done

编辑:代码的第 6 行似乎不像 echo "${IP}" 那样工作。给出空白输出。我想分配sudo docker inspect $i | grep IPAddress | cut -d '"' -f 4的结果至IP变量,即我想捕获创建的容器的 IP 地址并在 xdg-open 'http://$IP:7111/execute' 中使用它动态发出 HTTP 请求。但我没有得到应该写入此 bash 脚本行的正确格式: IP=sudo docker inspect $i | grep IPAddress | cut -d '"' -f 4

我可以使用 IP 的正确格式是什么?值 xdg-open 'http://$IP:7111/execute'

上述脚本目前在执行时显示此消息:

vishal@bl-lin-01:~/docker/PythonServer/new$ ./BashScript.sh
Creating and Running Container 1
WARNING: Docker detected local DNS server on resolv.conf. Using default external servers: [8.8.8.8 8.8.4.4]
^Cserving at port 7111
Traceback (most recent call last):
File "/scripts/InitScript.py", line 40, in <module>
httpd.serve_forever()
File "/usr/lib/python2.7/SocketServer.py", line 225, in serve_forever
r, w, e = select.select([self], [], [], poll_interval)
KeyboardInterrupt
unknown option: 1

valid options are:
-license
-copyright
-crlf
-end
-link
-path_name
-tab
-ascii
-apple_macro
-assert_macro
-minmax
-unnamed
default is all checks on; otherwise options specify desired checks
Ip Address is:

谢谢。

最佳答案

这个编辑过的 Bash 脚本现在工作正常..

#!/bin/bash
for i in {1..2}
do
echo "Creating and Running Container $i "
sudo docker run -d -name $i PythonServer
IP=$(sudo docker inspect $i | grep IPAddress | cut -d '"' -f 4)
echo "Ip Address is:$IP"
xdg-open "http://$IP:7111/execute"
done

我在守护进程模式下运行容器并使用 Command Substitution bash 的功能是将命令的输出分配给变量 IP

关于linux - Bash 脚本执行 Docker 容器操作并提取容器 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20393075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com