Tag: Ubuntu

在Docker容器上运行自主开发的Python服务器

我有这个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 […]

启动应用程序退出后如何继续使用docker容器?

我想创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主机上运行ubuntu容器 – 使用gui运行应用程序

我有一个Ubuntu主机,最重要的是我运行一个ROS摇杆容器。 http://wiki.ros.org/docker/Tutorials/Docker 这些ROS应用程序通常具有Linux GUI应用程序。 我想知道如何在我的容器中启用这个GUI。 这是ROS容器将会有的输出。 http://wiki.ros.org/ROS/Tutorials/UnderstandingNodes#line-1-12

udhcpc未能获得DHCP租约GNS3

我已经添加了Ubuntu的docker容器到GNS3,它运行在我的本地机器上。 使用NAT节点我试图连接到互联网。 问题是没有其他节点像路由器,也是Ubuntu的docker容器通过DHCP接收IP地址。 udhcpc无法获得DHCP租用错误,每当我启动ubuntu docker容器时,即使在为这些接口启用ip地址DHCP之后,路由器接口的IP地址仍未分配。 需要帮助解决这个问题。 我附上了这个问题的截图。 docker控制台控制台 拓扑描述操作系统:Linux胡椒薄荷 GNS版本2.0.3

docker运行 – 用户组不按预期工作?

我有一个通过串口( /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组的一部分? […]

Ubuntu + Vagrant + docker组成,不使用Virtualbox

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 ubuntu 16.04容器64位运行32位应用程序

是否有一个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 是否有更通用的规则或通常需要的软件包列表?

Docker群集不断地closures容器

我在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运行启动的其他容器。

如何清理/ var / lib / docker / vfs目录

我想弄清楚如何从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的apt-get更新不起作用

当我运行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: […]