hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 文章 - 网站运维 - 正文 君子好学,自强不息!

docker怎么获取hostname?_网站服务器运行维护

2020-06-13网站运维ki4网7°c
A+ A-

如何在docker容器中运行GUI程序?_网站服务器运行维护

在docker容器中运行GUI程序的方法:首先安装Docker并用编辑器创建名为Dockerfile的文件;然后用自己的用户和组id来替换配置中的0;接着设置用户权限并运行;最后在CentOS 7镜像中Docker容器里运行GUI程序即可。

docker怎么获取hostname?

docker获取hostname的方法:

在nodejs环境中测试通过,其它语言同理,只需要使用获取环境变量的方法即可。

思路:docker容器和宿主机环境是隔离的,但是可以在启动docker容器时将宿主机的主机名以环境变量的形式传入,代码在容器中获取该值即可。

操作:

如何调试docker中的源代码?_网站服务器运行维护

调试docker中源代码的方法:首先执行代码【go get -v./src/github.com】自动下载依赖包;然后配置环境变量在用户根目录下的【.bashrc】文件;最后在docker源码的目录下执行代码【./hack/make】即可。

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?的详细内容,更多请关注ki4网其它相关文章!

docker空间不够怎么办?_网站服务器运行维护

解决docker空间不够的方法:1、查看docker镜像存放目录空间大小;2、停止docker服务;3、创建新的docker目录;4、迁移文件到新创建的目录;5、重新加载并重启docker服务;6、删掉docker旧目录。

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
docker怎么获取hostname?_网站服务器运行维护

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>