实战中首先需要判断服务器是否为docker环境。常用的判断方法有两种。
1、通过执行 ls -alh /.dockerenv 是否存在.dockerenv文件
docker环境下存在该文件

非docker环境,没有.dockerenv文件
2、查询系统进程的cgroup信息
docker环境下 cat /proc/1/cgroup
非docker环境下cat /proc/1/cgroup则简洁很多

3. 一个有些土的方法:大部分 docker 容器中都不会在安装 docker,至少算能SDK 的docker是这样的,所以在云主机上输入 docker 会打印帮助文档,而在容器中则会反馈bash: docker: command not found
4. 算能云主机使用的是 ubuntu 18.04,而 docker 镜像则是 ubuntu 16.04。执行 cat /etc/issue 可以发现两者区别。
还有一个方法,就是修改主机名:
因为 docker 创建使用的是 host 模式,所以需要创建完 docker 容器后,退出,在云主机上修改:
# 已完成 docker 容器创建,容器内主机名和当前HOST主机名都是sophgosudo -ihostnamectl set-hostname [你想要的名字]# 切换用户刷新主机名su sophgo# 此时主机名已经改为了 [你想要的名字]