我有这个python服务器: import SocketServer class TCPHandler(SocketServer.BaseRequestHandler): def handle(self): print 'client is connected' data = self.request.recv(1024) print data self.request.sendall('Message received!') HOST, PORT = '0.0.0.0', 5004 server = SocketServer.TCPServer((HOST, PORT), TCPHandler) print 'Listening on port {}'.format(PORT) server.serve_forever() 和这个客户: import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('192.168.56.101', 5004)) s.sendall('Hello my name is John') response = s.recv(1024) print 'Response: {}'.format(response) 我的操作系统是macOS,我使用VirtualBox在虚拟机上安装了Ubuntu […]
我想创builddocker映像,在运行后启动nano编辑器,并在nanoclosures后为用户继续工作。 为此我写了下一个Dockerfile FROM ubuntu:14.04 RUN apt-get update && apt-get install -y nano RUN mkdir /home/working ENV EDITOR /bin/nano WORKDIR /home/working ENTRYPOINT /bin/nano 运行容器(docker run -it -rm test) nano后,启动nano,退出nano之后,容器closures。 closuresnano后,我想继续工作到Ubuntu的容器。 我应该改变我的Dockerfile?
我有一个Ubuntu主机,最重要的是我运行一个ROS摇杆容器。 http://wiki.ros.org/docker/Tutorials/Docker 这些ROS应用程序通常具有Linux GUI应用程序。 我想知道如何在我的容器中启用这个GUI。 这是ROS容器将会有的输出。 http://wiki.ros.org/ROS/Tutorials/UnderstandingNodes#line-1-12
我已经添加了Ubuntu的docker容器到GNS3,它运行在我的本地机器上。 使用NAT节点我试图连接到互联网。 问题是没有其他节点像路由器,也是Ubuntu的docker容器通过DHCP接收IP地址。 udhcpc无法获得DHCP租用错误,每当我启动ubuntu docker容器时,即使在为这些接口启用ip地址DHCP之后,路由器接口的IP地址仍未分配。 需要帮助解决这个问题。 我附上了这个问题的截图。 docker控制台控制台 拓扑描述操作系统:Linux胡椒薄荷 GNS版本2.0.3
我有一个通过串口( /dev/ttyUSB0 )进行通信的脚本。 我想从Docker镜像中运行它。 不过,我似乎没有权限从图像中做到这一点。 我遵循这些步骤: 在我的主机上,如果我运行ln -l /dev/ttyUSB0我得到: crw-rw—- 1 root dialout 188, 0 jul 2 14:34 /dev/ttyUSB0 好,这意味着为了读/写,我需要是root ,或dialout组的一部分。 我在我的主持人成为这个组的成员: $ sudo usermod -aG dialout $(whoami) 然后我注销并重新login以使其生效。 之后,我validation了我可以与我的主机上的/dev/ttyUSB0完美通信。 但是,如果我运行泊坞窗图像: docker run –user=1000:1000 –rm=true –tty=true –privileged=true –device=/dev/ttyUSB0 –volume=<my_dir>:<my_dir> –workdir=<my_dir> <my_docker_image> <my_script> 然后它抱怨说: can't open device "/dev/ttyUSB0": Permission denied 但是,如果我使用:– –user=1000:20 ,那么它工作正常。 组20是dialout组。 现在我的问题: 为什么Docker不知道我的用户(1000)和组(1000)是dialout组的一部分? […]
HY, 我一直使用Virtualbox在Windows PC上使用Vagrant + Docker。 自从几个星期以来,我已经将自己的思想转向了Ubuntu 16.04 LTS,并开始将我的Vagrant内容移植到我的新硬件上。 一些stream浪者在我的旧电脑上使用了docker-compose。 现在,在Ubuntu上,我想直接使用Docker和Docker-compose,而不使用Virtualbox。 当然,我可以忘记stream浪者,并直接与Docker合作,但我更愿意通过Vagrant监控每个环境,保持同质化。 在这个新的上下文中(Ubuntu 16 + Vagrant:prodiver = Docker和Provisionner = Docker compose),我找不到有关如何使用“docker compose”的信息。 有些链接显示“vagrant-docker-compose”插件的用法,但它对我不起作用。 我不明白为什么,但我认为这是合乎逻辑的,因为我直接在我的机器上使用Docker,没有使用VBox,而且每个示例都似乎指出您正在使用VBox。 我是否错误地解决了我的问题? 现在我的Vagrantfile看起来像这样(我试过其他的东西…没有更多的成功..): Vagrant.configure(2) do |config| config.vm.provider "docker" do |docker| docker.image="ubuntu:16.04" docker.compose=true end config.vm.provision :docker config.vm.provision :docker_compose, rebuild: true, yml: "/direct/docker-compose.yml", run: "always" end 但docker-compose.yml没有加载…. andd Vagrant说 “他的集装箱开始从未离开”停止“状态,或很快恢复到”停止“状态……” 事实上:我不明白我必须指出我的docker-compose.yml文件的path…. 你可以帮帮我吗 ? 你有线索,还是链接到tuto? 你可以让我的头脑思考正确的方式来解决它….: […]
是否有一个docker 64位ubuntu 16.04容器运行32位应用程序所需的软件包的一般列表? 我看到有人在这里和这里提到ia32-libs 。 也有人build议添加到docker文件这些: RUN dpkg –add-architecture i386 RUN apt-get update RUN apt-get install -y libc6:i386 libncurses5:i386 libstdc++6:i386 zlib1g:i386 是否有更通用的规则或通常需要的软件包列表?
我在3台机器上创build了一个docker swarm manager节点 – 一台是Windows 10机器和2台Ubuntu机器。 事情在Windows 10和Ubuntu机器之一上按预期工作。 然而,在安装完所有东西之后,在最后一台机器(Ubuntu 16.04,Linode上的虚拟机)上,按照这里的说明并使用docker-ce 17.06.0〜ce-0〜Ubuntu的版本,我无法启动任何服务或堆栈 – 所有服务/堆栈容器都在一秒钟内closures。 没有从容器本身的日志 – 他们似乎在开始后立即停止。 如果restart_policy设置为on-failure容器,就像疯了一样开始和closures。 副本设置为1(默认)。 启动任何服务,然后检查服务状态 docker service ps *service-name* 在最右边的列中显示错误 starting container failed: su… 除了swar docker run以外, docker run hello-world 产生所需的输出。 所以,通过docker运行启动的其他容器。
我想弄清楚如何从Docker中回收一些我的磁盘空间。 我的/ var / lib / docker目录目前看起来像: 42M containers 3.6G devicemapper 14M image 68K network 20K plugins 4.0K swarm 4.0K tmp 4.0K trust 9.0G vfs 28K volumes 我不知道为什么我的vfs目录是如此之大,以及如何清理它! 我更新的安装在其他服务器上的docker甚至没有这个目录,所以删除安全吗? 我正在运行docker 1.13.1,在Ubuntu 14.04服务器上使用devicemapper存储驱动程序。 这个docker在过去几次升级。 我只在其上运行3个容器,而大部分重要的卷都被安装到主机上。 我运行“docker系统修剪”,但它没有收回。 我也清理了我不需要的所有图像。
当我运行docker run –rm ubuntu apt-get update ,我有我的笔记本电脑上的这个错误。 但命令docker run –rm debian:jessie ping -c 5 google.com工作正常。 Err:1 http://archive.ubuntu.com/ubuntu xenial InRelease Could not connect to archive.ubuntu.com:80 (91.189.88.152). – connect (111: Connection refused) [IP: 91.189.88.152 80] Err:2 http://archive.ubuntu.com/ubuntu xenial-updates InRelease Unable to connect to archive.ubuntu.com:http: [IP: 91.189.88.152 80] Err:3 http://archive.ubuntu.com/ubuntu xenial-backports InRelease Unable to connect to archive.ubuntu.com:http: [IP: […]