我尝试在我的Linux机器上运行一些docker命令:
1- sudo docker load -i test.tar
2- sudo docker tag bf46cff9b182 test:v1.0
3- sudo docker run -it --network host -v /home/logs:/home/test/test/logs test:v1.0
但是我想要一次性创建runme.sh
并执行所有命令。问题在于,镜像ID bf46cff9b182
每次都会动态改变。因此,我需要从load
命令的输出中以某种方式将其传递给pipe
,这实际上是可能的。
load
命令的输出如下:
Loaded image ID: sha256:bf46cff9b1829b50e28f6485c923efff94799dd84cbf747dc86f6e5d006f2a81
在Linux上,它显示为:
4f512fb4b0ea: Loading layer 5.079MB/5.079MB
Loaded image ID: sha256:b6c3df68a9365ccb0935a835aa332b29db780cb7e81eac83acf717b2 de779073
并且在sha256
后的12
个字符将是bf46cff9b182
,这将是我在上述第二条命令中插入的图像ID。
我该如何编写一个bash命令来自动执行此操作?
sudo adduser "$USER" docker
,其中$USER
是您自己的帐户名称。然后,您可以执行exec sg docker
加入该组,或者注销并重新登录。其他平台可能有类似的安排,但细节可能会有所不同。 - tripleee