如果系统已经安装docker,但是依然出现这个提示,可以按照以下步骤修改,已经验证成功
1、点击左侧文件,然后选择进入目录/www/server/panel/class/projectModel/bt_docker
双击编辑dk_setup.py文件
2、替换以下函数
<span class="token keyword">def</span> <span class="token function">check_docker_program</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token triple-quoted-string string">""" 检查docker和docker-compose是否已经安装 :return: """</span> docker <span class="token operator">=</span> <span class="token string">"/usr/bin/docker"</span> docker_compose <span class="token operator">=</span> <span class="token string">"/usr/bin/docker-compose"</span> <span class="token keyword">if</span> os<span class="token punctuation">.</span>path<span class="token punctuation">.</span>exists<span class="token punctuation">(</span>docker_compose<span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">pass</span> <span class="token keyword">else</span><span class="token punctuation">:</span> dk_compose_list <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">"/usr/libexec/docker/cli-plugins/docker-compose"</span><span class="token punctuation">,</span> <span class="token string">"/usr/local/docker-compose"</span><span class="token punctuation">]</span> <span class="token keyword">for</span> i <span class="token keyword">in</span> dk_compose_list<span class="token punctuation">:</span> <span class="token keyword">if</span> os<span class="token punctuation">.</span>path<span class="token punctuation">.</span>exists<span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">:</span> public<span class="token punctuation">.</span>ExecShell<span class="token punctuation">(</span><span class="token string">"ln -sf {} {}"</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>i<span class="token punctuation">,</span> docker_compose<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token keyword">if</span> os<span class="token punctuation">.</span>path<span class="token punctuation">.</span>exists<span class="token punctuation">(</span>docker<span class="token punctuation">)</span> <span class="token keyword">or</span> os<span class="token punctuation">.</span>path<span class="token punctuation">.</span>exists<span class="token punctuation">(</span>docker_compose<span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">return</span> <span class="token boolean">True</span> <span class="token keyword">return</span> <span class="token boolean">False</span><span class="token keyword">def</span> <span class="token function">check_docker_program</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token triple-quoted-string string">""" 检查docker和docker-compose是否已经安装 :return: """</span> docker <span class="token operator">=</span> <span class="token string">"/usr/bin/docker"</span> docker_compose <span class="token operator">=</span> <span class="token string">"/usr/bin/docker-compose"</span> <span class="token keyword">if</span> os<span class="token punctuation">.</span>path<span class="token punctuation">.</span>exists<span class="token punctuation">(</span>docker_compose<span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">pass</span> <span class="token keyword">else</span><span class="token punctuation">:</span> dk_compose_list <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">"/usr/libexec/docker/cli-plugins/docker-compose"</span><span class="token punctuation">,</span> <span class="token string">"/usr/local/docker-compose"</span><span class="token punctuation">]</span> <span class="token keyword">for</span> i <span class="token keyword">in</span> dk_compose_list<span class="token punctuation">:</span> <span class="token keyword">if</span> os<span class="token punctuation">.</span>path<span class="token punctuation">.</span>exists<span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">:</span> public<span class="token punctuation">.</span>ExecShell<span class="token punctuation">(</span><span class="token string">"ln -sf {} {}"</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>i<span class="token punctuation">,</span> docker_compose<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token keyword">if</span> os<span class="token punctuation">.</span>path<span class="token punctuation">.</span>exists<span class="token punctuation">(</span>docker<span class="token punctuation">)</span> <span class="token keyword">or</span> os<span class="token punctuation">.</span>path<span class="token punctuation">.</span>exists<span class="token punctuation">(</span>docker_compose<span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">return</span> <span class="token boolean">True</span> <span class="token keyword">return</span> <span class="token boolean">False</span>def check_docker_program(self): """ 检查docker和docker-compose是否已经安装 :return: """ docker = "/usr/bin/docker" docker_compose = "/usr/bin/docker-compose" if os.path.exists(docker_compose): pass else: dk_compose_list = ["/usr/libexec/docker/cli-plugins/docker-compose", "/usr/local/docker-compose"] for i in dk_compose_list: if os.path.exists(i): public.ExecShell("ln -sf {} {}".format(i, docker_compose)) if os.path.exists(docker) or os.path.exists(docker_compose): return True return False
注意代码对齐
保存代码 关闭文件
3、重启宝塔面板即可
补充
这里是基于ubuntu 18.4 的linux系统来部署的,如果以上操作没有作用请尝试在linux中查看docker是否安装成功,或者卸载重新安装docker;centos及其他系统请先尝试安装完docker以后再安装宝塔的docker
原文链接:https://blog.csdn.net/u014126725/article/details/133946944?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171836840916800197020748%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171836840916800197020748&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-3-133946944-null-null.nonecase&utm_term=docker%E3%80%81%E5%A5%BD%E7%94%A8
© 版权声明
声明📢本站内容均来自互联网,归原创作者所有,如有侵权必删除。
本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。
THE END