Tag: 集装箱

如何在使用Kubernetes启动容器时传递Docker CLI参数

我正在探索Kubernetes Cluster Orchestration,我熟悉基于docker的集装箱化技术。 通常,在启动Docker容器时,我们会传递不同的CLI参数(端口选项+ Envvariables),如下所示 docker run –name myService -p 8080:8080 -v /var/lib/otds:/usr/local/otds -e VIRTUAL_PORT=8080 myImage 当我试图在Kubernetes集群上使用它(使用CLI – kuberctl)时,我看到错误,指出这些参数无法识别 我正在尝试像下面的东西 kuberctl run myService -p 8080:8080 -v /var/lib/otds:/usr/local/otds -e VIRTUAL_PORT=8080 –image==myImage 我正在寻找如何将Docker的CLIparameter passing给KuberCTL的帮助

具有多个networking接口的Docker容器:只能获得一个IP地址

我有一个名为some-mysq l some-mysq容器some-mysq到名为mynet的覆盖networking上:当我执行mynet docker inspect some-mysql它显示出这个巨大的JSON: { "Id": "49cb39a4e8e5e7421a4ae69ffd5bb17a8f90f02abbfc3f64ef80d206ceb11c1f", "Created": "2017-02-24T09:21:50.237425126Z", "Path": "docker-entrypoint.sh", "Args": [ "mysqld" ], "State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 28706, "ExitCode": 0, "Error": "", "StartedAt": "2017-03-27T06:59:40.137554407Z", "FinishedAt": "2017-03-25T00:05:46.938307695Z" }, "Image": "sha256:7666f75adb6b50676a366c6fd7a3916cb41f6e8eaf336c3d3ab7d35317fed0b9", "ResolvConfPath": "/var/lib/docker/containers/49cb39a4e8e5e7421a4ae69ffd5bb17a8f90f02abbfc3f64ef80d206ceb11c1f/resolv.conf", "HostnamePath": "/var/lib/docker/containers/49cb39a4e8e5e7421a4ae69ffd5bb17a8f90f02abbfc3f64ef80d206ceb11c1f/hostname", "HostsPath": "/var/lib/docker/containers/49cb39a4e8e5e7421a4ae69ffd5bb17a8f90f02abbfc3f64ef80d206ceb11c1f/hosts", "LogPath": "/var/lib/docker/containers/49cb39a4e8e5e7421a4ae69ffd5bb17a8f90f02abbfc3f64ef80d206ceb11c1f/49cb39a4e8e5e7421a4ae69ffd5bb17a8f90f02abbfc3f64ef80d206ceb11c1f-json.log", "Name": "/some-mysql", "RestartCount": […]

如何设置Kubernetes工作的时间限制?

我想推出一个Kubernetes的工作,并给它一个固定的截止date完成。 如果在截止date之前吊舱仍在运行,我希望工作自动被杀死。 有这样的事情吗? (起初我以为Job规范的activeDeadlineSeconds覆盖了这个用例,但是现在我看到activeDeadlineSeconds只对重新尝试工作的时间设置了限制;它并没有主动杀死缓慢/失控的工作。

docker运行与-p和单个端口(而不是映射)

在docker中创build容器时,以下命令有什么不同? docker run -d -p 8080 sample/image 和 docker run -d -p 8080:8080 sample/image 我已经看到大多数人使用第二个命令,但我不确定他们是否意味着不同的东西,或者第一个是简写。 我找不到任何材料。

混淆了使用单个数据容器的多个不同容器

最近我一直在调查docker,然后开始研究数据容器,以及如何在会话之间保持信息,而且我很困惑。 在大多数情况下,可以使用单个数据卷容器吗? 让我们看一个简单的图书馆/ postgres图像,在它的dockerfile中显示了一个卷/ var / lib / postgresql / data假设我在本地映射到/ docker / db_data在一个容器设置中,我知道/ var / lib / postgresql / data将会在我的笔记本电脑/ docker / db_data文件夹中find。 但是如果你想分支出另一个运行Jenkins的容器,例如将/ var / jenkins_home作为一个卷公开,会发生什么。 最初我会将其映射到我的笔记本上的另一个文件夹,例如/ docker / jenkins_data。 但是,如果我想启用一个数据卷容器来pipe理这两个,怎么做呢? 比方说,我们想要将两个容器映射到我的笔记本电脑上的目录,/ docker / db_data和/ docker / jenkins_data 或者我这样做是错误的,如果我使用了2个数据容器,并且保持简单,是否会被认为是最佳实践?

Docker容器发布的端口不可访问?

所以这里就是这种情况,我有一个使用这个dockerfile构build的容器: FROM python:2-onbuild EXPOSE 8888 CMD [ "nohup", "mock-server", "–dir=/usr/src/app", "&" ] 我用这个命令运行它: docker build -t mock_server . docker run -d -p 8888:8888 –name mocky mock_server 我在mac上使用它,所以boot2docker正在进行,我从8888 boot2docker ip打它。我尝试boot2docker ssh并从那里击中容器。 我运行docker exec -it mocky bash和ps aux显示: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.9 113316 18576 ? Ss […]

我应该在提交之前停止一个容器吗?

在大多数教程中,它们在提交之前停止一个容器。 例如: https : //docs.oracle.com/cd/E52668_01/E54669/html/section_c5q_n2z_fp.html 一旦我忘记在提交之前停止它。 但是提交仍然成功! 我想知道是否有任何隐藏的损害。

我们如何添加function到正在运行的docker集装箱?

在容器实际启动后,是否可以添加一个function(例如:NET_ADMIN)? 我几天前创build了一个容器,其提供的服务正被其他几个在其他服务器上远程运行的进程使用。 我需要添加一个loopback接口,但不幸的是,我忘了用–cap-add=NET_ADMIN启动容器,因此现在不能添加接口。 我正在寻找一个选项,如果有可能给这个容器以某种方式给这个容器。

docker工人 – 普罗米修斯集装箱马上死亡

我有一个使用端口映射4000:8080的pipe理程序,我必须将它与一个带有prometheus的容器链接起来。 我的prometheus.yml是: scrape_configs: # Scrape Prometheus itself every 2 seconds. – job_name: 'prometheus' scrape_interval: 2s target_groups: – targets: ['localhost:9090', 'cadvisor:8080'] 这个文件有path/home/test/prometheus.yml。 用普罗米修斯来运行容器,我这样做: docker run -d -p 42047:9090 –name=prometheus -v /home/test/prometheus.yml:/etc/prometheus/prometheus.yml –link cadvisor:cadvisor prom/prometheus -config.file=/etc/prometheus/prometheus.yml -storage.local.path=/prometheus -storage.local.memory-chunks=10000 容器被创build,但它立即死亡。 你能告诉我问题在哪里吗? 消息形成docker events& : 2016-11-21T11:43:04.922819454+01:00 container start 69d03c68525c5955cc40757dc973073403b13fdd41c7533f43b7238191088a25 (image=prom/prometheus, name=prometheus) 2016-11-21T11:43:05.152141981+01:00 container die 69d03c68525c5955cc40757dc973073403b13fdd41c7533f43b7238191088a25 (exitCode=1, image=prom/prometheus, name=prometheus)

如何运行一个已经停止的容器并进入bash?

我是Docker的新手,我知道为了运行一个容器,我可以使用下面的命令: docker run -it –name custom-container-name –hostname custom-hostname image-name bash 前面的命令创build一个名为custom-container-name其中hostname是custom-hostname ,它使用图像image-name 。 我知道-it标志让我可以访问bash 。 (如果我错了,请纠正我) 现在,我已经停止了这个容器,但是我想再次使用它,那么我应该使用什么命令来再次打开这个容器 ,就像我第一次运行docker run …命令一样。