您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

docker怎么获取hostname?

2025/1/12 22:59:16发布15次查看
docker怎么获取hostname?
docker获取hostname的方法:
在nodejs环境中测试通过,其它语言同理,只需要使用获取环境变量的方法即可。
思路:docker容器和宿主机环境是隔离的,但是可以在启动docker容器时将宿主机的主机名以环境变量的形式传入,代码在容器中获取该值即可。
操作:
docker run -d -p 3000:3000 --name mytest -e host_q=$(hostname) mytest:v1 # 使用-e 参数传入环境变量,值为主机名
如果使用yml文件启动:
version: '3'services: mysql: image: mysql:v1 container_name: xx-mysql restart: always networks: - host environment: - mysql_root_password=xxx0209 - host_q=$(hostname) # 在这设置 ports: - 3306:3306 volumes: - /opt/data/mysql:/var/lib/mysql:z
启动成功后,容器内部环境变量就多了一个host_q,接下来使用程序取出即可:
nodejs:
# 从process中取出环境变量对象let env = process.env;console.log(json.stringify(env));# env['host_q']就是最终要获取的主机名 # output[2019-04-17t06:54:12.951z] [e1e7115e0a33] [info]: {"node_version":"8.9.4","hostname":"e1e7115e0a33","yarn_version":"1.3.2","home":"/root","host_q":"emg-ubuntu-pub02","path":"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","pwd":"/"}
java:
public class test { public static void main(string[] args) { map<string, string> map = system.getenv(); string hostname = map.get("host_q"); system.out.println(hostname); }}
推荐教程:《docker视频教程》
以上就是docker怎么获取hostname?的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product