在Jenkins机器上,我想创建一个具有指定名称的docker容器,只有它尚不存在(在shell脚本中).我想我可能会运行命令来创建容器,如果有的话会忽略失败,但这会导致我的jenkins作业失败.
因此,我想知道如何使用bash检查docker容器是否存在.
我是Docker的新手,我目前正在尝试运行一个Wordpress网站(仅在我的本地机器上进行测试 - 而不是实际托管).我目前有三个容器:一个用于存储我的数据的Linux发行版,由MySQL容器使用,最后是一个Wordpress容器.
我可以成功访问和编辑我的Wordpress网站,但我想尝试在不同的端口上运行多个网站,我不确定如何这样做.我是否必须创建三个全新的容器,或者我可以使用相同的MySQL和数据存储容器,只需制作一个不同的wordpress容器?
任何帮助将不胜感激,谢谢!
目前,我有一个 bash 脚本可以解压我的根目录中的一个文件:
#!/bin/bash
tar xvf ~/some-file.tar
Run Code Online (Sandbox Code Playgroud)
这没有问题。现在,我想改变这一点,以便我可以在预定义的变量中指定文件的路径,如下所示:
#!/bin/bash
p="~"
tar xvf $p/some-file.tar
Run Code Online (Sandbox Code Playgroud)
这给了我以下错误消息:
tar: ~/some-file.tar: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
Run Code Online (Sandbox Code Playgroud)
文件的路径似乎是正确的,但是,是否有一些隐藏字符导致此失败?连接变量和路径而不将两者都存储在字符串变量中的正确方法是什么(如果有的话)?
我有一个test.txt看起来像这样的文件:
something=1something-else=234another-something=5678
例如,我想替换something-else=234为,但我拥有的唯一信息是“匹配” ,并且等号后面正好有三个字符。目前我有这个命令可以替换比赛后线路上的所有内容:something-else=***something-else=
sed -i -e 's/\(something-else=\).*/\1***/' test.txt
结果:something=1something-else=***
我该如何调整它以仅替换三个字符而不是整个行的其余部分?