Tag: 集装箱

无法使用马拉松运行docker集装箱

我想运行docker容器使用Apache马拉松/ mesos。 在官方文档中他们提到echo "docker,mesos" > /etc/mesos-slave/containerizers应该用docker来完成。 但是我的机器上没有这样的文件或目录。 我使用的是Ubuntu 14.04。 我的mesos版本是0.22.1。 它只显示使用–containerizer==docker,mesos运行时使用–containerizer==docker,mesos标志进行部署。 为了这个标志的工作,我需要做回声的事情。 但是我的机器上没有这样的东西。

应用程序直接连接到容器

可能这是docker技术堆栈中的一个常见问题。 假设我们有 1. A client application "A" running on a host IPAddressA, 2. A docker container host with IPAddressB 2.1 An server "S" running as a container on above container host with IPAddressC. 应该做些什么来确保客户端应用程序“A”可以与在IPAddressC上的容器上运行的服务器“S”交谈? 注意:我在尝试使用-p选项(端口转发)时旋转一个新的docker集装箱。 但是,然后https客户端应用程序将失败,因为所获得的SSL证书是从docker容器主机,而不是容器本身。

在Docker中,Redis服务器无法启动

我有一个docker镜像“redis_image”,它安装了redis。 我运行一个容器后: docker run –name test_redis -it redis_image bash redis服务器可以使用'/etc/init.d/redis start'在容器中正常启动。 但是,如果我用–net=host选项运行容器,redis服务器将无法在容器中启动,它会显示“正在启动redis-server:无法打开会话[失败]”。 当我运行容器时,问题是否与–net=hostconfiguration有关? 谢谢。

编译/安装libcontainer时由于自定义编译内核错误

我在libcontainer上做了一个master的git克隆,然后通过CONTRIBUTING.md指南。 ./update-vendor.sh go get -d ./… make direct-build # Run the tests make direct-test-short | egrep –color 'FAIL|$' # Run all the test make direct-test | egrep –color 'FAIL|$' “make direct-build”的输出给出: go build -v . ./apparmor ./cgroups ./cgroups/fs ./cgroups/systemd ./configs ./configs/validate ./criurpc ./devices ./integration ./label ./netlink ./nsenter ./nsinit ./seccomp ./selinux ./stacktrace ./system ./user ./utils ./xattr […]

如何在加载到其他主机时标记Docker(容器)的图像(.tar)文件?

我在本地机器上configuration了一个Docker镜像, tags由WordPress组成。 我已将此映像上传到AWS S3存储桶并从AWS EC2中提取映像。 我的问题是当我加载我的EC2实例的xxxx.tar.gz docker load -i xxxxx.tar.gz 它被加载,但是,存储库name和tag显示none REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE none none 271c6bafbc36 2 days ago 406.7 MB 任何人都可以告诉我,我们如何可以加载一个图像( .tar.gz )文件与预定义的name和tags

Bluemix上的Docker运行命令不允许正确设置环境variables

当我尝试创build一个泊坞窗容器 cf ic run -e AUTHORIZED_KEYS="`cat ~/.ssh/id_rsa.pub`" –name ssh-test -d busybox 或者在设置环境variables之后 docker run -e AUTHORIZED_KEYS="`cat ~/.ssh/id_rsa.pub`" –name ssh-test -d busybox 我总是得到以下错误消息,在本地docker主机上运行命令时未报告: FATA[0001] Error response from daemon: Error creating container {'space_guid': u'guid', 'name': u'ssh-test', 'tenant_name': u'tenant', 'image': u'guid', 'security_groups': None, 'flavor': u'1', 'id': None, 'tenant': u'tenant'}: too many values to unpack 我已经尝试了一些东西,触发错误信息的最简单方法是下面的命令,它包含两个等号( = )字符: cf […]

无法使用Windows在Docker中安装数据卷

我在Windows上运行Docker。 我已经用命令成功地build立了一个镜像: docker build -t my/tag /c/Users/user/Docker/docker-php/image/ docker images结果: REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE my/tag latest 763a2f01c832 28 minutes ago 445.8 MB php 5.6-cli 32d2bd1d7a19 6 days ago 444.5 MB 不幸的是我有一个问题,当我试图将数据卷挂载到映像。 我运行: docker run –rm -it -v /“pwd“:/src -w /src my/tag bash ( pwd上有一个单引号,但我不知道如何逃脱它) 但在docker中文件不可见: root@3e91981ef517:/src# ls -al total 4 drwxr-xr-x 2 root […]

无法在registry.ng.bluemix.net上使用IBM Containersregistry进行身份validation

当我login到Bluemix上的IBM容器时,出现以下错误: cf iclogin **从IBM容器中检索客户端证书 **将客户端证书存储在/Users/triplez/.ice/certs中成功检索客户端证书 **检查本地泊坞窗configuration确定 **在registry.ng.bluemix.net上进行registryvalidation 无法在registry.ng.bluemix.net上使用IBM Containersregistry进行身份validation ****退出状态1 ****来自守护进程的错误响应:无效的registry端点registry.ng.bluemix.net/v0/:无法ping通registry端点registry.ng.bluemix.net/v0/ v2 ping尝试失败,出现错误:获取registry.ng.bluemix.net/v2/:在103.11.48.126:53上拨打tcp:lookup registry.ng.bluemix.net:读取udp 103.11.48.126:53:I / O超时 v1 ping尝试失败,出现以下错误:获取registry.ng.bluemix.net/v1/_ping:在103.11.48.126:53上拨打tcp:lookup registry.ng.bluemix.net:读取udp 103.11.48.126:53:I / O超时。 如果此私有registry仅支持具有未知CA证书的HTTP或HTTPS,请将–insecure-registry registry.ng.bluemix.net添加到守护程序的参数中。 在HTTPS的情况下,如果您有权访问registry的CA证书,则不需要该标志; 只需将CA证书放在/etc/docker/certs.d/registry.ng.bluemix.net/ca.crt 我已经卸载docker并重新安装,给我同样的错误。 我也删除了~/.cf/config.json和~/.ice/ice-cfg.ini和~/.ice/certs/并尝试重新login。 我仍然收到相同的错误。 我也用同样的错误testing了这个冰块。 EDITED 试过这个命令: ice login -a 'https://api.ng.bluemix.net' –registry 'registry.ng.bluemix.net' –host 'https://containers-api.ng.bluemix.net/v3/containers' 得到了同样的错误: containers-api.ng.bluemix.net/v3/containers上容器云服务的身份validation已成功完成您现在可以向容器服务 继续使用registry.ng.bluemix.net/v3上的容器云registry进行身份validation来自守护进程的错误响应:无效的registry端点registry.ng.bluemix.net/v3/v0/:无法ping通registry端点registry.ng.bluemix。净/ V3 / V0 / v2 ping尝试失败,出现错误:获取registry.ng.bluemix.net/v3/v2/:在192.168.0.1:53上拨号tcp:lookup registry.ng.bluemix.net:读取ump 192.168.0.1:53:I / O时间到 v1 […]

docker中reexec.Init()的目的是什么?

在阅读docker1.8的源代码时,我发现reexec.Init()出现在docker.go , dockerinit.go和一些testing文件中。 如果reexec已注册函数,则reexec.Init()将返回true以便在docker.go中进程将返回。 从reexec包的README.md : reexec包简化了我们需要的docker二进制文件的busybox风格reexec,因为使用Go的分叉限制。 那么使用reexec.Init()的目的是什么? reexec.Init()初始化Docker容器的环境的唯一目的是什么?

降低SYS_ADMIN Linuxfunction

我正在创build一个Docker容器,我不想保留“特权”标志为true。 这是为了保持更安全和更好的控制。 我的容器主要从事以下任务(这将帮助我定义它的资源访问范围并相应地强制执行访问控制)1.在容器上安装gluster文件系统2.运行SSH守护程序以接受传入的SSH连接3.运行一些通常可用的bash命令 在运行docker容器时,我使用了“–cap-add = SYS_ADMIN”选项来实现这一点。 但是,由于SYS_ADMIN增加了更多的权限(下面列出)比我所需要的。 我怎样才能达到SYS_ADMIN能力的一部分? SYS_ADMIN: 执行一系列系统pipe理操作,包括:quotactl(2),mount(2),umount(2),swapon(2),swapoff(2),sethostname(2)和setdomainname(2)。 执行特权系统日志(2) 操作(从Linux 2.6.37开始,应该使用CAP_SYSLOG来允许 这样的操作)。 执行VM86_REQUEST_IRQ vm86(2)命令; 对任意System V IPC对象执行IPIP_SET和IPC_RMID操作 在受信任的和安全的扩展属性上执行操作 ATTR(5)) 使用lookup_dcookie(2)。 使用ioprio_set(2)来分配 IOPRIO_CLASS_RT和(在Linux 2.6.25之前)IOPRIO_CLASS_IDLE I / O 调度课程。 通过套接字凭证时伪造UID。 (例如,accept(2),execve(2),open(2),pipe())打开文件的系统范围限制打开的文件的数量超过/ proc / sys / fs / file- 2))。 采用克隆(2)和非共享(2)创build新名称空间的CLONE_ *标志。 调用perf_event_open(2)。 访问特权的perf事件信息。 呼叫设置(2)。 调用fanotify_init(2)。 执行KEYCTL_CHOWN和KEYCTL_SETPERM keyctl(2)操作。 执行madvise(2)MADV_HWPOISON操作。 使用TIOCSTI ioctl(2)将字符插入除主叫方的控制terminal以外的terminal的input队列。 采用过时的nfsservctl(2)系统调用。 采用过时的bdflush(2)系统调用。 执行各种特权块设备ioctl(2)操作。 执行各种特权文件系统ioctl(2)操作。 对许多设备驱动程序执行pipe理操作。