Tag: Linux容器

如何编写一个dockerfile并build立一个docker镜像?

如何编写一个dockerfile并build立一个dockerimage。 如果可能的话,我会很感激一步一步的说明和插图。 我是新来的使用docker,我们正在使用Linux平台。

Visual C ++ for Linux Development + Docker

我想通过在Docker容器中构build和debugging来开发Linux C ++应用程序。 我打算使用Visual C ++ for Linux Development来远程debugging到容器中。 然而,这个Visual Studio扩展最初是为了与Linux VM一起使用的,Linux开发和Docker对于我来说是新的,而且我对设置它的基础知识稍有困惑。 我创build了一个ubuntu:14.04 docker容器,并在容器中安装了Visual C ++ for Linux依赖项,即openssh-server , g++ , gdb和gdbserver 。 我已经承诺容器,创造一个图像工作。 我想我现在需要运行容器打开一个端口,以便我可以从Visual Studio连接到容器。 这是怎么做的? 容器是否需要进一步设置,以便有某种处理程序来处理将要打开的端口上的通信? 比如Bash是否需要分配来处理通过端口的通信? 还是有一个依赖关系,也许openssh-server ,需要分配来处理通过端口的通信? 或者是当我安装的依赖关系设置的东西? 如果是这样的端口? 在Visual C ++ for Linux开发指令中,它显示当连接到虚拟机时,可以提供诸如Host name , Port , User name , Authentication type和Password Authentication type凭证。 自然港将是必需的,但其他人将被要求? 如果是的话,这些凭据需要在Ubuntu容器中设置或以某种方式发现? 如果这样怎么样?

作为其他用户启动Docker守护进程

伙计们,我需要启动docker守护进程作为我的Ubuntu 14.04下的其他用户..我有这个用户在sudoers的组和泊坞窗的组,但是,我需要的是作为我的“testing”用户运行的docker守护进程。 test @ test:/ usr / bin $ start docker 开始:拒绝发送消息,1匹配规则; type =“method_call”,sender =“:1.88”(uid = 1100 pid = 24071 comm =“start docker”)interface =“com.ubuntu.Upstart0_6.Job”member =“Start”error name =“(unset)” requested_reply =“0”destination =“com.ubuntu.Upstart”(uid = 0 pid = 1 comm =“/ sbin / init”) 我可以做什么来运行docker守护进程下我的“testing”用户没有sudo?

在Docker容器中更改/ proc / sys / kernel / core_pattern文件

如何更改特权模式的docker容器内的/proc/sys/kernel/core_pattern文件? 是否有任何标志传递给docker daemon或docker run或任何有关的Dockerfile ?

将命令从一个docker集装箱传递到另一个

我有一个帮手容器和一个应用程序容器。 帮助程序容器通过git处理代码通过应用程序容器共享安装。 我需要帮助程序容器检查克隆代码中的package.json或requirements.txt ,如果存在要运行npm install或pip install -r requirements.txt ,则将依赖项存储在共享安装中。 事情是npm命令和/或pip命令需要从应用程序容器运行,以保持辅助容器为通用和尽可能不可知的。 一个解决scheme是将docker套接字挂载到helper容器并运行docker exec <command> <app container>但是如果在单个主机上有成千上万个这样的应用程序呢。 会有数百个容器同时访问docker套接字吗? 还有更好的方法来做到这一点? 获取命令在另一个容器上运行?

dockerbuild设未能在** sticky **目录中使用Dockerfile?

运行docker 1.12.1; 在RH 7.2 64位上。 docker一般工作正常; 我的命令来运行容器; 或导入档案…一切正常。 但是当我在这里尝试这个: /data $ docker build -t foo/bar:1 . 我得到: unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /data/Dockerfile: no such file or directory 然后我试着: /data $ lstat Dockerfile bash: lstat: command not found… Similar command is: 'stat' /data $ stat Dockerfile stat: cannot […]

运行相同的docker客户端的Windows容器和Linux的

有没有办法在Windows上同时运行Windows Docker容器引擎和Linux docker容器引擎并使用相同的命令cli? 所以,我可以启动Linux和Windows容器与适当的引擎? 比如运行docker pull microsoft/windowsnano和docker pull ubuntu ?

何时在Docker中使用-type d-exec chmod 750/640

我已经开始使用Docker进行本地开发,从将Mac上的所有内容安装到容器。 通过一些项目,我经常会看到下面的shell命令,特别是 find /www -type d -exec chmod 750 {} \; \ find /www -type f -exec chmod 640 {} \; 首先,他们试图达到什么目标,其次是命令的实际意义,最后是为什么/何时需要使用这个命令? 我最近复制和修改了另一个项目,发现把这些命令取出似乎没有什么区别(公平的,它不再是基于相同的基本容器,但仍然)。 任何启蒙的一线将不胜感激。 EDITS: 在下面的注释中,这个方便的链接来解释shell告诉我们:What:find/www所有文件夹并执行chmod命令,将权限更改为750 – 仍然不确定是否为750,更重要的是为什么要这么做。

Docker可以在运行容器时自动将IP地址添加到主机

我在hetzner.de上有一个服务器,有大约16个公共IPv4地址。 现在我正在运行这样的容器: sudo docker run -d –name test6 -it -p 5.1.2.3:80:80 sunebeck/apache-php 这将最初产生这个错误: Error starting userland proxy: listen tcp 5.1.2.3:80: bind: cannot assign requested address. 通过手动添加主机上的IP地址来修复这个问题: ip addr add 5.1.2.3 dev eth0 之后,它按照预期工作,服务在5.1.2.3中作为端口80公开。 不过手动pipe理这个有点麻烦。 Docker能否根据需要自动添加/删除主机的IP地址?

定义的Linux发行版中的哪些命令在Docker容器中可用?

我是docker的新手,明白linux内核是在主机操作系统和容器之间共享的。 但是我不太了解docker模拟一个特定的linux发行版。 假设我们有一个简单的docker文件,像这样: FROM ubuntu:16.10 RUN apt-get install nginx 它会给我一个在Ubuntu 16.10环境中安装nginx的docker容器。 所以我应该可以使用apt-get作为Ubuntu的默认包pipe理器。 但这有多深? 我可以假设那些像lsb_release这样的发行版的典型命令是像安装了Ubuntu 16.10的完整虚拟机一样被模拟的吗? 我的问题背后的原因是,Linux发行版是不同的。 我需要知道哪些命令是可用的,例如,当我运行一个Ubuntu 16.10的容器,就像在上面安装了不同的发行版的主机(如Red Hat,CentOS等)上运行一个容器一样。 Docker中的Ubuntu镜像约为150 MB。 所以我认为并不是所有的工具都包含在真实的安装中。 但是,我怎么知道我可以在哪个地方丢下他们呢?