算能科技
直播中

刘桂兰

8年用户 1047经验值
私信 关注
[经验]

如何判断是否在docker镜像中?

实战中首先需要判断服务器是否为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# 此时主机名已经改为了 [你想要的名字]

更多回帖

发帖
×
20
完善资料,
赚取积分