Tag: 主机名

如何使用其他容器可以使用的主机名创buildDocker容器?

所以我用下面的命令为RabbitMq创build了一个容器。 docker run -d –hostname my-rabbit –name some-rabbit rabbitmq:3-management 哪个工作正常,但我然后用下面的命令创build另一个容器 docker run test . 这运行一个PHP文件的容器,试图连接到主机名,我的兔子,但它不能find它的主机,所以PHP只是马上自己closures。 然而,我确实find了my-rabbit(第一个容器)的IP,并用IPreplace了我的PHP代码中的主机名(my-rabbit),并且没有任何问题。 那么如何为RabbitMq创build一个主机名,以便同一networking上的所有其他容器可以看到并使用IP而不是IP?

Docker容器主机名

我想在启动期间设置docker容器主机名(HOSTNAME env var),这是在dockerfile的ENTRYPOINT中指定的.sh脚本: #!/bin/sh export HOSTNAME=something-$(hostname) java $JAVA_OPTS -jar /app.jar 我想要为jvm看到这个新的主机名。 我所得到的就是标准的docker主机名称: / # env HOSTNAME=04dbf311a3be 当我设置主机名手动使用上面的导出上面的容器启动后,一切正常。 一切正在使用组合堆栈文件在群集中运行。 编辑1:我没有这样做在容器build立,但在启动过程中 编辑2:要清楚,我有什么: DOCKER SWARM: CONTAINER1 HOSTNAME=391fa2c7e184 CONTAINER2 HOSTNAME=39123a43242asd4 CONTAINER3 HOSTNAME=123123123123 我想要的是: CONTAINER1 HOSTNAME=APPNAME-391fa2c7e184 CONTAINER2 HOSTNAME=APPNAME-123fa2c7e184 CONTAINER3 HOSTNAME=APPNAME-343fa345e184 并希望这在n-containers的启动过程中被自动设置 我如何尝试做到这一点: 我尝试在容器启动时调用start.sh文件(在dockerfile中指向ENTRYPOINT命令)中设置此项: #!/bin/sh export HOSTNAME=something-$(hostname) java $JAVA_OPTS -jar /app.jar 没有效果,HOSTNAME没有被改变

高山Linuxdocker集主机名

我正在使用Alpine Linux的lwieske / java-8:server-jre-8u121-slim 我想从一个文本文件中设置主机名来全局查看(对于所有的shell) / # env HOSTNAME=2fa4a43a975c / # cat /etc/afile something / # hostname -F /etc/afile hostname: sethostname: Operation not permitted 所有在群中运行的服务 我希望每个节点具有基于容器ID的唯一主机名。

Kubernetes:主机名正则expression式失败

尝试运行kubeadm初始化 [root@ts_kubernetes_setup ~]# kubeadm init [kubeadm] WARNING: kubeadm is in alpha, please do not use it for production clusters. [preflight] Running pre-flight checks [preflight] WARNING: firewalld is active, please ensure ports [6443 9898 10250] are open or your cluster may not function correctly [preflight] Some fatal errors occurred: hostname "ts_kubernetes_setup.localdomain" must match the regex [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* […]

如何启用docker集装箱通过他们的主机名相互ping通?

我想能够从另一个docker集装箱ping通docker主机名。 我怎样才能做到这一点 ? 我的容器在同一个dockernetworking上。 有人可以指导我在哪里寻找或search,我是networking新手,不知道我应该search什么来解决这个问题。

禁用Spark master检查主机名是否相等

我有一个在Docker容器中运行的Spark-master,而该容器又在远程服务器上执行。 在Spark-master旁边,在同一个Docker主机上有运行Spark-Slave的容器。 Server <—> Docker Host <—> Docker Container 为了让从服务器find主服务器,我在Docker SPARKMASTER设置了一个主服务器主机名,从服务器用来连接主服务器。 到现在为止还挺好。 我使用SPARK_MASTER_IP环境variables让主人绑定到这个名字。 我还将Spark端口7077暴露给Docker主机,并在物理服务器主机上转发此端口。 港口是开放的和可用的。 现在在我的机器上,我可以使用它的IP连接到服务器,比如192.168.1.100。 当我的Spark程序连接到端口7077上的服务器时,我得到一个连接,这个连接与主服务器分离: 15/10/09 17:13:47 INFO AppClient$ClientEndpoint: Connecting to master spark://192.168.1.100:7077… 15/10/09 17:13:47 WARN ReliableDeliverySupervisor: Association with remote system [akka.tcp://sparkMaster@192.168.1.100:7077] has failed, address is now gated for [5000] ms. Reason: [Disassociated] 我已经知道这个断开的原因是主机IP 192.168.1.100与主机名SPARKMASTER不匹配。 我可以添加一个主机到我的/ etc / hosts文件,这可能会工作。 但我不想这样做。 有没有办法可以完全禁用这个检查主机名相等?

从容器访问Docker-compose容器主机名

我正在尝试设置一个作为对等采样服务的应用程序。 每个同行将运行在一个单独的容器,为了便于使用,我会有一个跟踪器,将给每个同行的初始视图。 对于跟踪器,我将它作为具有简单REST API的Python 3.5 Web服务器运行。 当联系时,它会调用docker-compose -H tcp://hostip:2375 ps来获取容器列表和它们的主机名。 奇怪的是,当这个容器执行这个命令的时候,docker守护进程会回答一个空的列表,而如果我问这个守护进程不是从容器中,而是从我的计算机,甚至从同一个本地networking上的其他计算机上,它工作正常。 我不知道为什么守护进程会发送两个不同的结果。 这是我的Dockerfile FROM python:3.5.1 # RUN pip install pydevd ADD . /code WORKDIR /code EXPOSE 4321 RUN echo 'starting Tracker' CMD [ "python", "./scripts/tracker.py" ] 我的docker-compose.yml version: '2' services: pss: build: . tracker: expose: – "4321" build: context: . dockerfile: Dockerfile-tracker 和python文件中的一行: ps_output = […]

在一个docker容器中设置主机的主机名

我意识到这是一个不寻常的问题,但是像moby / linuxkit这样的系统在Docker容器中运行,似乎可能是需要的。 我想(从docker/容器cotnainer内)设置主机的主机名。 我的用例源于在启动时从VMWare guestinfo加载主机名/networking设置。 我已经可以在容器中为主机build立networking连接,但似乎无法弄清楚如何设置主机名。 我试过' – 特权',我试过'–cap'SYS_ADMIN'。 我确信有一种方法我不确定。 有任何想法吗?

如何隐藏单个主机名后面的Docker容器

我对Docker相当陌生。 我开始接触VM的思维模式,但是我意识到它使用了一个完全不同于VM的模式,甚至是传统的LXC容器。 理解networking如何工作是最大的挑战。 我试图使用Docker在需要一些相同端口的计算机上运行多个服务,以避免端口冲突。 我想使用主机的FQDN来访问它们,而不必担心将容器FQDN添加到DNS。 我将相关的容器端口转发到未使用的主机端口。 问题是,当我尝试从我的浏览器访问服务时,它被redirect到容器的FQDN,它无法parsing。 结果是“服务器未find”错误。 有没有办法隐藏主机的FQDN背后的所有容器,而不必解决容器的FQDN?

有一种方法可以使用来自另一个Docker容器的主机名来ping一个Docker容器?

我正在寻找一个解决scheme,从另一个Docker容器使用其主机名ping一个Docker容器。 我尝试如下: 首先启动Docker容器: docker run –rm -ti –hostname=repohost –name=repo repo 启动第二个Docker容器,首先连接并启动bash: docker run –rm -ti –hostname=repo2host –link repo:rp repo2 /bin/bash 在bash上开始repo2 ping repohost 它仍然在等待,没有任何结果。 有人可以告诉我是否有解决scheme?