Tag: Linux容器

高山linux – autossh(缺less)

我需要能够: – RUN apk add –no-cache autossh 把我的项目从ubuntu迁移到高山linux 我在构buildDockerfile时遇到错误。任何解决方法? 我无法摆脱autossh要求,因为我需要这个连接到我写作数据库。 ERROR: unsatisfiable constraints: autossh (missing): required by: world[autossh] The command '/bin/sh -c apk add –no-cache autossh' returned a non-zero code: 1

CoreOS Kubernetes如何监控Node进程?

我们的一些Kubernetes节点上的flanneld进程已知会崩溃,造成奇怪的行为。 我想设置监视/警报,以确保我们收到通知时,如果flanneld崩溃。 我们运行CoreOS作为我们的基本操作系统来运行Kubernetes。 CoreOS的devise决策之一是(据我了解),应该是基本操作系统上安装最less的软件,一切都应该在Pod /容器中运行。 所以,考虑到这一点,我想运行一个Pod /容器来监视主机进程列表,以确保始终有一个名为“flanneld”的进程在运行,并在未运行时发送警报。 但是,由于任何Pod /容器都有自己的进程名称空间,我似乎无法运行有权访问主进程列表/树的容器。 我试图运行一个容器“特权:真”,但没有运气。 有没有办法在Kubernetes上运行一个可以访问主进程列表/树的容器? 或者,有没有更好的方式做我想做的事情? 最好不要直接在CoreOS系统上安装软件,而要使用容器/ Pod。

Docker未绑定的DNS服务器:如何启动服务

我的主机系统是Arch Linux,Docker映像是“base / arch”(archlinux),并有我自己的修改。 Unbound被安装在一个提交的镜像上,但是我不知道如何启动运行该服务的容器,因为SystemD并不打算在Docker中运行。 我如何真正启动容器作为一个服务作为Unbound运行? 我已经通过一些基本的教程,但其中大部分包括启动预build容器: Dockers基础课程。 Arch Wiki。 数字海洋概述。 谢谢!

docker – libudev:udev_has_devtmpfs:在/ dev上的name_to_handle_at:不允许的操作

我正在做有关使用GUI的应用程序的Dockertesting。 SublimeText,Eclipse,Hangout和其他应用程序良好的工作,但在这种情况下,我尝试使用Debian镜像安装popcorntime应用程序到docker容器,当我执行应用程序显示我一些错误。 对不起,但我是新的在Docker世界,并想知道如何解决这个问题,为未来的场合。 首先,我执行下一个表单的docker容器: docker run -ti -v /tmp/.X11-unix/:/tmp/.X11-unix -e DISPLAY –shm-size = 1024m –memory 512m –device / dev / snd popcorntime bash 接下来,进入contaniner: root @ 1cc4aea76556:/ opt / popcorntime#./Popcorn-Time libdev:udev_has_devtmpfs:/ dev上的名称为/ dev:操作不允许[59:1106/211526:警告:x11_util.cc(315)] X未能连接到共享内存段262145 [59:1106/211529:INFO:CONSOLE(120) ]“Uncaught ReferenceError:pageOptions is not defined”,source: http ://app.time4popcorn.eu/?uid=17F98CC7FD403488DA7B5E1D6989EE2C&register_date=1478465906&version=0.3.0&os=linux&r=0.025844353018328547(120)[59:1106/211529:INFO:CONSOLE (120)]“Uncaught ReferenceError:pageOptions is not defined”,source: http ://app.time4popcorn.eu/?uid=17F98CC7FD403488DA7B5E1D6989EE2C&register_date=1478465906&version=0.3.0&os=linux&r=0.025844353018328547(120)[59:1106/211529:错误:crash_handler_host_linux.cc(380)]无法为pid 79写入崩溃转储无法上传崩溃转储:无法分配[59:1106/211529:错误:breakpad_linux.cc(1225)]写入到/ tmp /渲染器,转储,b10e73ec0d1694fc.dmp 请,我定位的人知道如何执行这个应用程序使用docker容器??? ….

语法错误:dockerfile RUN语句中的多行bash命令

我有这个Dockerfile,我回应以下行: echo $"RUN cat file | while read pkg \ do\ sudo apt-get install -qy $pkg \ done" >> Dockerfile 现在,当docker执行这一行时,我得到以下错误: /bin/sh: -c: line 1: syntax error: unexpected end of file The command '/bin/sh -c cat autobuild/buildenv_packages | while read pkg do sudo apt-get install -qy done' returned a non-zero code: 1 我知道有一些小的语法错误,但我无法弄清楚。 请注意, apt-get […]

如何在networking中公开?

以下示例来自docker-compose 文档 。 根据我的理解,他们希望在web容器中提供redis port 6379。 他们为什么不拥有 expose: – "6379" 在redis容器中? version: '2' services: web: build: . ports: – "5000:5000" volumes: – .:/code networks: – front-tier – back-tier redis: image: redis volumes: – redis-data:/var/lib/redis networks: – back-tier

为什么在Docker中运行“tty”时会得到“不是tty”?

在我启动CentOS作为Docker容器之后,当我运行tty我得到: # tty not a tty not a tty的原因是什么?

如何通过使用docker swarm来扩展多个暴露端口和多个卷的应用程序?

我有一个基于Java的应用程序(Jboss版本6.1社区),stream量很大。 现在我想使用docker和docker-swarm来迁移这个应用程序部署进行集群。 脚本 我的应用程序需要Docker容器中公开的两个端口,一个是Web端口(ie9080),另一个是数据库连接端口(即1521),并且在主机系统上安装的每个容器的日志目录都很less。 简单的Docker例子 docker run -it -d –name web1 -h "My Hostname" -p 9080:9080 -p 1521:1521 -v /home/web1/log:/opt/web1/jboss/server/log/ -v /home/web1/license:/opt/web1/jboss/server/license/ MYIMAGE Docker与Swarm的例子 docker service create –name jboss_service –mount type=bind,source=/home/web1/license,destination=/opt/web1/jboss/server/license/ –mount type=bind,source=/home/web1/log,destination=/opt/web1/jboss/server/log/ MYIMAGE 现在,如果我缩放/复制上面的服务2或3,它将绑定哪个主机端口和哪个挂载目录将绑定为新创build的容器? 任何人都可以帮助我得到如何规模和复制服务在这种情况下工作? 我也经历了 – –publish和 – –name global但没有任何帮助我在我的情况。 谢谢!

将数据库部署到Docker Container microsoft / mssql-server-linux

我有一个数据库在Windows上运行SQL Server(13.01)。 我喜欢使用SSDT将它部署到Linux上的Docker容器。 我可以完美地连接到运行在Docker上的服务器,手动创build/删除数据库并使用数据进行播放。 问题是我无法发布它。 我在Powershell上执行以下脚本 PS: SqlPackage.exe /Action:Publish /SourceFile:"d.dacpac" /TargetConnectionString:"server=containeraddress;database=thedatabase;user id=sa;password=thepassword; 并获得以下错误。 无法连接到主服务器或目标服务器的“数据库”。 您必须在主服务器或目标服务器的“数据库”中拥有相同密码的用户。 (Microsoft.Data.Tools.Schema.Sql) 我在目标服务器和源服务器上拥有相同的用户和相同的密码。 有没有人有同样的问题,并知道如何解决?

如何在Docker中使用alsa声音和/或snd_pcm_open?

我正在Ubuntu 16.04主机上运行Ubuntu 12.04 Docker容器。 一些testing代码我使用了SND_PCM_STREAM_PLAYBACK和SND_PCM_STREAM_CAPTUREstreamtypes的练习'snd_pcm_open'/'snd_pcm_close'操作。 我不需要任何实际的声音/audiofunction,只是得到'snd_pcm_open'返回一个有效的句柄,然后'snd_pcm_close'返回0在同一个句柄将足够我的目的。 我不想修改代码,因为它已经有一些不太好的平台相关开关,我不是维护者。 我正在使用简单的代码并将其编译为“g ++ alsa_test.cpp -lasound” #include <stdio.h> #include <alsa/asoundlib.h> int main() { snd_pcm_t* handle; snd_pcm_stream_t stream_type[]= {SND_PCM_STREAM_PLAYBACK, SND_PCM_STREAM_CAPTURE}; printf("\nstarting\n"); for (unsigned char i = 0; i < sizeof(stream_type) / sizeof(stream_type[0]); ++i) { printf(">>>>>>>>\n\n"); int deviceResult = snd_pcm_open(&handle, "default" , stream_type[i], 0); printf("\n%d open: %d\n", stream_type[i], deviceResult); if (deviceResult >= […]