我有一些docker-machine
,其中大部分内容应该在没有配置的情况下运行。这些makefile过去曾使用bash
。
有没有办法在Column0 Column1 Column2 Column3
0 Entry_1 0.685 Record_1 0.69-S$ 0.685
1 Entry_2 0.036 Record_2 0.685
2 Entry_3 05/Jul/2016 Record_3 0.72-S$ 0.4
3 Entry_4 0.338 Record_4 178.8 mm
4 Entry_5 0.41 Record_5 0.06
5 Entry_6 122.48 Record_6 17.29%
6 Entry_7 0.5 Record_7 0.58 as of 05/Jul/2016
cols = df['Column0'].append(df['Column2'])
vals = df['Column1'].append(df['Column3'])
newdf = pd.DataFrame(vals).T
newdf.columns = cols
newdf
Entry_1 Entry_2 Entry_3 Entry_4 Entry_5 Entry_6 Entry_7 Record_1 Record_2 Record_3 Record_4 Record_5 Record_6 Record_7
0 0.685 0.036 05/Jul/2016 0.338 0.41 122.48 0.5 0.69-S$ 0.685 0.685 0.72-S$ 0.4 178.8 mm 0.06 17.29% 0.58 as of 05/Jul/2016
中检测用户是否使用 docker desktop for mac 而不是 docker-machine ?
答案 0 :(得分:4)
到目前为止,我发现的最干净的方式是:
[[ $(docker version --format "{{.Server.KernelVersion}}") == *-moby ]]
答案 1 :(得分:2)
最好的方法是检查是否存在DOCKER环境变量:
运行eval $(docker-machine env)
时,所有这四个都已设置,并且需要与docker-machine一起使用。
测试版不需要设置其中任何一个,实际上要求您取消设置才能正常运行。
您还可以在docker info
命令中查找" moby" (mac VM的docker的名称):
docker info | grep -q moby && echo "Docker for mac beta" || echo "Not docker for mac beta"
然而,这取决于docker info
结果的一致性。
答案 2 :(得分:0)
您可以执行以下操作:
docker info --format "{{.OperatingSystem}}" | grep -q "Docker for Mac"
通过以下方式检查退出代码:
if [[ $? -eq 0 ]]; then
echo "Docker for Mac!"
else
echo "Something else"
fi
答案 3 :(得分:0)
这些makefile过去使用过
docker-machine
。
如果可能,请停止使用机器。最新的Mac版Docker installation instructions注意到Docker Toolbox,但建议它现在是 legacy 。考虑重构脚本来代替检查Docker Desktop:
if [[ -n "$(docker info --format '{{.OperatingSystem}}' | grep 'Docker Desktop')" ]]; then
echo "Docker Desktop found. Skipping installation ..."
else
echo "WARNING! Docker Desktop not installed:"
echo " * Install docker desktop from <https://docs.docker.com/docker-for-mac/install/>"
fi
说明
--format '{{.OperatingSystem}}'
是一个Go模板,可从docker info
查询。grep 'Docker Desktop'
是运行Docker Desktop时应该寻找的。 li>
如果字符串的长度为0(来自-z
),则man bash
返回true。$(...)
是命令替换,它执行grep
而不输出到stdout
。 Joe的his answer提示,将对docker info
的输出进行干净过滤。而且,如果您决定停止使用计算机,则可以考虑从环境设置中删除VirtualBox,并利用xhyve
的性能提高–台式机随附。