Tag: 容器

如何自定义更新泊坞窗图像

我对docker工人来说比较陌生,除了简单的情况外,还没有使用它,所以请耐心等待。 我有一个python3泊坞窗图像,缺less一些模块,我需要像scipy,sklearn等我运行图像(docker运行-i -t python),然后我能够下载和安装必要的软件包如下容器: >>> import pip >>> pip.main(["install", "sklearn", "scipy"]) 但是,当我退出容器,重新启动所有的安装都没有了。 我怎样才能让他们持久?

为什么docker容器中的应用程序不重新启动?

我已经部署了一些docker容器和golang应用程序。 其中一个我需要从这个命令开始: docker run –restart unless-stopped -it myapp /bin/bash 下一步我进入容器并编辑一些configuration文件,然后我运行 go build main.go 和./main之后,我按Ctrl + q,并离开它。 一切正常,所有的容器重新启动服务器后,完美重启。 但有一个问题,当myapp容器重新启动时,golang应用程序在容器仍然工作时不运行。 我必须再次input并运行./main 。 我怎样才能解决它? Dockerfile FROM golang:1.8 WORKDIR /go/src/app COPY . . RUN go-wrapper download # "go get -d -v ./…" RUN go-wrapper install # "go install -v ./…" RUN ["apt-get","update"] RUN ["apt-get","install","-y","vim"] EXPOSE 3000 CMD ["app"]

Kubernetes荚随机超时

我有一个包含一个非常简单的Spring Boot Web应用程序的Kubernetes部署。 我正在经历尝试从外部连接到此应用程序的随机超时。 有些请求会立即返回,而其他请求会暂停几分 我无法看到日志中的任何问题。 当直接连接到pod时,我能够调整应用程序,并立即得到响应,因此感觉更像是networking问题。 我也有其他应用程序在相同的群集中运行相同的configuration没有遇到任何问题。 我对Kubernetes还是比较新的,所以我的问题是: 我在哪里以及如何诊断networking问题? 如果有帮助,可以提供更多信息。

在背景中启动/ usr / bin / mysqld_safe

我正在用docker和mysql运行一个容器。 我的图像库是Ubuntu 16,问题是当我执行/usr/bin/mysqld_safe –user=mysql –skip-grant-tables我的terminal停留在黑色,我不能打字或做里面的交谈。 有没有办法执行这个命令并将过程发送到后台? 这个容器需要执行命令,同时在后台运行mysql。

为什么docker(基于容器的技术)是有用的

最近我一直在研究docker工人和它可以提供给SaaS公司的有用性。 我花了一些时间学习如何容器化应用程序,并简要了解什么是docker和容器。 我对理解这项技术的有用性有一些疑问。 我曾经看过一些来自dockercon的video,好像大家都在谈论docker如何让部署变得简单,以及如何在开发环境中部署,保证在生产环境中运行。 不过,我有一些问题: 从开发环境直接部署容器到生产意味着开发人员应该开发内部容器,这些容器是在生产中运行的相同容器。 这实际上是不可能的,因为开发人员喜欢用IDE来开发他们的MAC。 如果开发人员被告知ssh进入容器并开发他们的代码,他们将会反抗。 那么目前使用docker的公司如何工作呢? 如果我们假设开发工作stream程不会改变。 开发人员将在本地进行开发,并将其代码推入回购或其他任务。 那么“容器化”应用程序在哪里适合工作stream? 另外,如果开发人员不在容器内部开发,那么“你所开发的就是你所部署的并且保证工作”的假设被违反了。 如果是这种情况,那么我只能看到,docker提供的唯一好处是隔离,这与虚拟化提供的东西是一样的,当然这个开销较低。 所以我的问题是,docker在虚拟化方面唯一的优势是低开销吗? 还是其他的东西,我没有看到?

IBM容器卷的性能

我正在IBM Containers中运行一个postgres 9.5数据库。 我修改了DockerHub映像,以便它可以与Containers服务提供的Volumesfunction一起工作(必须解决与此问题相关的权限问题: 我可以更改在IBM容器中的卷上安装的目录的所有者? )。 但是,我现在看到很差的performance。 例如,这里是运行删除一个新初始化postgres db(〜20MB)的最新输出,但是我没有看到任何比3分钟更快的输出: /tmp/vol/pgdata $ time rm -rf * real 18m 1.38s user 0m 0.00s sys 0m 0.25s 是否有可能需要configuration不同的图像/容器来获得合理的性能? 有没有其他人有幸在一个卷上运行数据库?

Bluemix Docker容器部署导致“无路由到主机”

我们正在使用这个命令部署docker-image: cf ic run -p 8080 -m 512 -e SPRING_PROFILES_ACTIVE=test -e logging.config=classpath:logback-docker-test.xml –name <container-name> registry.eu-gb.bluemix.net/<repository_name>/<container-name>:latest 在那个容器中,我们开始使用连接池提供程序的Java8 Spring-Boot应用程序。 连接池提供程序连接到可在标准端口上访问的现有PostgreSQL数据库。 我们不使用任何域名连接到PostgreSQL数据库。 我们只使用IP地址和标准的postgresql端口。 部署工作在使用标准Docker容器守护进程的机器上,同时也在Amazon WebServices(AWS)上工作,没有任何问题,并使用相同的部署机制。 但是,如果我们将映像部署到Bluemix-Container-Service,则在启动Spring引导应用程序时会出现以下错误: Caused by: java.net.NoRouteToHostException: No route to host at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.postgresql.core.PGStream.<init>(PGStream.java:61) at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:129) at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:65) at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:146) at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:35) at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:22) […]

我怎样才能确保始终连接到相同的docker集装箱?

我有一个真正理解这个小问题。 当我在Docker中启动3个容器时,他们得到3个不同的IP地址,这些IP地址是按顺序分配的,我可以从其他容器中解决它们,一切正常。 但是,当我在这三个之前启动一个不同的容器时,这三个获得不同的IP地址,并且整个设置进入地狱。 我一直在困扰Google很长一段时间,但我似乎找不到一个合适的(也不是太复杂)的解决scheme,有一个稳定的方式来连接到某个容器。 这并不是我想自己分配IP,只是告诉docker主机,就像“每次启动容器X时都将IP 172.17.0.X分配给它” 必须有某种方式来启动容器的顺序并不重要,不能每隔一次重新启动容器就必须更改设置。 所以这里有一些帮助会很好? 我可以通过某种方式将IP分配给容器,或者给予某种别名,以便从另一个容器中处理。

Docker Cloud自动构build

我想了解通过Docker Cloud和其他CI服务器(如Jenkins,Circle)自动构build的主要区别… 从我通过Docker Cloud的理解中,我可以链接Github repo并触发特定分支更改的Web钩子。 这样做,通过适当的configuration,DockerCloud自动运行,testing和构build我的映像,并最终部署到AWS等链接的远程服务器。 因此,相同的工作stream程是可以实现的,并且使用Jenkins,Circle这样的CI服务器是常见的CI / CD实现。 基本上执行与DockerCloud相同的步骤。 使用Jenkins CI和Docker Cloud自动构build有什么区别? 我应该使用哪种方法将整个CI / CDpipe道集成到我的开发工作stream程中?

单个docker集装箱将在亚马逊的EC2上自动扩展吗?

我在Amazon的EC2默认实例上创build了一个Docker容器。 我想知道如果stream量突然增加,我的应用会自动缩放吗?