Questions tagged «docker»

Docker映像,容器,集线器以及与容器化平台相关的所有内容

5
如何禁止访问Docker容器内部?
我想将我的应用程序以docker映像的形式交付给客户。但是至关重要的是确保最终用户不要更改容器内的任何内容。用户只能运行/停止容器并通过网络与容器交互。 是否可以禁止接触容器内部?是否可以验证该容器制成的图像的完整性?
14 docker  security 

6
Docker适合我的用例吗?
我公司有一个销售的系统,该系统基本上由运行Ubuntu 12.04的微型计算机“ Smartbox”组成。此框运行Django应用程序以及与此相关的许多不同的新贵进程。没什么。我们在现场有成千上万个这样的盒子。我们通过deb软件包管理软件包的依赖关系,过程注册等,并获得不同程度的成功。 我们需要一种有效,强大地将更新发布给我们的用户的方法。我们还需要一些东西,当我们升级操作系统时(如您所知,我们已经过时了进行Ubuntu升级),我们可以对我们的软件包“可以正常使用”感到相对安全。 我对Docker知之甚少,但是当我第一次听说我们的问题(我是新员工)时,Docker是我的第一个想法。但是我想得更多,我觉得可能不是,因为这些盒子是我们的,我们控制着它的操作系统,这是Docker价值主张的重要组成部分,或者据我所知。因此,如果我们知道我们的机器始终是Ubuntu,那么我们基本上只有Django应用程序和一些要运行的进程,那么Doc​​ker是否比deb包更好? TL; DR:适用于始终运行Ubuntu的分布式设备的Docker vs deb软件包,因此平台独立性并不那么重要。
14 docker 

2
将Docker容器连接到主机和内部网桥网络
我正在尝试将Docker容器作为私有(--internal)Docker网络和预定义host网络之间的路由器运行。这意味着容器需要具有两个网络接口:一个“外部”接口可以访问所有主机IP地址,而一个“内部”接口可以充当内部Docker网络中容器的网关。 然后,路由器容器本身将对来自/到容器的NAT网络流量进行NAT。 我还没有找到一种配置Docker来使用这两个接口运行容器的方法。我能得到的最接近的结果是bridge分配了两个接口,这并不是我所需要的。 尝试手动连接会导致错误: # docker network connect host root_router_1 Error response from daemon: Container cannot be disconnected from host network or connected to host network 有人可以告诉我如何实现这一目标,最好是连Docker Compose都可以实现?

2
如何在docker中运行的Jenkins构建从站中启用npm缓存?
我有一个Docker镜像,我们称它为frontend.imageJenkins构建奴隶。Jenkins Docker插件将从该映像启动一个容器,并在该容器内构建工件。这一切都很好。在这种情况下,frontend.image可使用来构建AngularJs应用。构建此Angular应用程序的一部分是安装应用程序所需的npm软件包。 npm安装这个过程似乎要花费很长时间,似乎3分钟,npm总是每次都安装每个软件包。 因此,我为从属服务器添加了一个卷,它是主机安装的卷,Docker插件每次运行前端容器时都会使用该卷: 执行命令的用户npm install是jenkins。npm保留了一个缓存,您可以使用npm config get cache输出命令来查找/home/jenkins/.npm 这就是为什么将主机卷/slaves/volumes/tsl.frontend:/home/jenkins安装到Web容器从属服务器的原因。 我使用Jenkins项目构建了Angular应用程序,构建没有问题,安装了许多npm软件包。如果ssh进入我的Docker主机并运行cmd,ls /slaves/volumes/tsl.frontend我会看到很多npm软件包。这意味着我的从服务器主机卷安装成功。 现在,我再次构建Jenkins项目,即使Docker从属构建容器正在使用卷主机安装,npm也会再次安装每个软件包。我什至可以通过先用cmd docker exec -it <some_clever_random_container_id> bash然后按cmd su jenkins然后按cmd 猛击到从属容器中来进行确认,npm cache ls其中列出了许多已缓存的npm软件包。 因此,即使我的主机安装卷具有权限chmod 777(因此没有权限问题),我也无法npm install使用缓存。 在运行Docker从属容器的Jenkins构建中,我运行的第一个cmd npm cache ls已经列出,并且列出了许多软件包,这是否意味着我的主机卷正在按预期工作并且npm缓存索引的完整性也未损坏? 我尝试了常规的npm installcmd,当我在localhost计算机上运行时,它会第一次安装所有软件包,而下次则几乎没有软件包。以及npm --cache-min 9999999 install从此SO答案以及cmd中获取的npm缓存“ hack”npm --skip-installed --cache-min 9999999 install 一个相关的问题发布在StackOverflow上。
13 docker  jenkins  npm 

4
是否有定期清除旧Docker映像的最佳实践和/或工具?
从Docker注册表中删除旧映像时,是否有一种优雅的方法或最佳实践? 我在这里看到很多请求/问题:https : //github.com/docker/docker-registry/labels/delete,但是没有找到一个很好的/受欢迎的解决方案。 那么,有没有工具或技术可以帮助我做到这一点? 另外,您在进行操作时是否遵循最佳做法?
13 docker  toolchain 

2
如何调查在Docker容器中死亡的主要流程?
有时,您必须检查一个已停止的容器,或者启动后很快死亡并停止的容器。 docker exec -ti <id> bash 仅适用于正在运行的容器,一旦完成,bash提示也会终止。 随着docker start你不能提供一个不同的命令,如果容器模具突然再次,你不会有足够的时间进入容器,做你的调查。 我们可以这样做docker commit,然后docker run使用不同的命令在新映像上进行操作,但是我想知道是否还有其他选择。 注意:docker logs仅返回打印到stdout / stderr的所有应用程序。这可能不足以找出问题所在。

2
如何使用Kubernetes自动执行部署?
假设我已经通过Rancher部署了Kubernetes,并且Jenkins正在构建新映像,并在将新代码签入GitHub后将它们推送到DockerHub,我如何自动化部署新映像? 提出问题的另一种方式可能是:“我以前使用Octopus来管理我的部署。是否有类似Kubernetes或Rancher内置的东西?” 最终,这是我正在努力的最后一个差距。

2
Docker容器容量规划
我正在4个虚拟机上运行我的应用程序,这些虚拟机具有8个3.2 GHz虚拟CPU和32 GB,但是,我将把这些进程分成单独的容器。 我不确定每个主机要运行多少个容器。典型的数字是多少?例如,虚拟机与裸机服务器的比例通常为1:10,要考虑的属性,决策框架或经验方面的任何链接都将有所帮助!

2
结合Docker Swarm和Kubernetes
我的公司正在努力在DevOps领域赶上一些追赶者。我一直在大量研究应用程序的容器化以及随之而来的编排系统。我碰到了一篇文章(我希望我已经保存了一篇),他们在谈论将Swarm与Kubernetes结合使用以获得更好的功能。在本文中,他们没有定义这样做所带来的好处。 我想知道这会带来什么好处?增加额外的复杂性真的会给您带来很多回报吗? 编辑:我正在寻找技术专家的/骗局。KISS是一个很好的座右铭,但不会与您的CEO或董事会争论不休。 几乎可以肯定的是,我们将为容器选择Docker,为编排选择Swarm。但是,我希望在我们的领域中看到Kubernetes,因此可以将这些技术合并在一起以获得更强大的解决方案的主张吸引了我。感谢您的任何见解。

3
在Azure上,如何按计划运行短暂的Docker容器?
我有一个相当简单的Unix shell脚本,打包在Azure容器注册表中托管的Alpine Linux Docker容器中。VM使用cron运行以下脚本: docker login <snip> docker pull example.com/bar:latest docker run example.com/bar:latest 我是否可以不用VM而是使用Azure服务,也许可以使用某种调度程序在Azure容器实例上运行它? 我的动机是不想维护虚拟机并为此付费。

4
无法从容器内连接到Chocolatey.org或任何其他互联网站点
来自https://forums.docker.com/t/cannot-connect-to-chocolatey-org/38745的 xpost 预期行为 我正在运行Windows Server 2016数据中心(MSDN下载)64位-版本1607-内部版本14393.1715 我正在使用Docker For Windows并正在运行Windows容器。 我认为这是世界上最简单的事情: reboot my host machine docker run -it microsoft/windowsservercore powershell iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')); 期望将其安装在容器中。 实际上,我将在dockerfile中执行此操作,但是我将以最小的工作示例为例,以立即获取帮助。 这是一个实际的失败的docker文件(可悲的是,它并不是那么有创意) FROM microsoft/windowsservercore SHELL ["Powershell"] ENV ChocolateyUseWindowsCompression false; RUN iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')); 实际行为 首先,我要在Virtualbox VM中运行它。我要工作的所有其他内容都可以正常工作,包括但不限于:内部网络连接和测试,运行的sql服务器,在我的docker-compose环境中运行的WCF服务,数据正确返回。我希望系统执行的所有操作均正常。这是最后一步,但愿:D。我在VirtualBox中运行它的事实无关紧要,因为Hyper-V可以正常工作,并且我所有的机器都可以正常工作。我只是觉得值得一提。 docker run -it microsoft/windowsservercore powershell PS C:\> iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')) Exception …
12 docker  windows 

2
如何在CircleCI上运行实验性Docker功能
在CircleCI上开始构建时,要做的第一件事是: 设置远程Docker引擎 Specified reusable docker engine, but build has not been whitelisted. Contact CircleCI to be whitelisted Allocating a remote Docker Engine ... Remote Docker engine created. Using VM 'prealloc-wrjtu1qd-1491949826270' Created container accessible with: DOCKER_TLS_VERIFY=1 DOCKER_HOST=tcp://<IP>:2376 DOCKER_CERT_PATH=/tmp/docker-certs615987123 DOCKER_MACHINE_NAME=51123 随后,docker build --squash -t imagename .在CircleCI上运行时,结果为: Error response from daemon: squash is …

3
Jenkins:使用Docker作为构建环境的权限问题
我在Ubuntu 16.04机器上安装了Jenkins。Jenkins本身不在容器中运行。我要做的只是yarn install使用节点图像进行调用。这是我的Jenkinsfile: pipeline { agent any stages { stage('install node modules...') { agent { docker 'node' } steps { sh 'cd /path/to/package.json; yarn install' } } } } 很简单吧? jenkins用户/组为112:116,节点容器的uid为1000,因此yarn进程(作为节点用户1000运行)无法执行其操作,例如mkdir /.config。 我试图旋转传入参数的节点容器-u 1000,在尝试创建持久目录时遇到了权限问题。 看起来像是另一种问题,我该如何解决? 詹金斯日志: 下面是构建开始和失败的地方。 [Pipeline] sh [Pipeline_Test_Jenkins_test-4JTFYMX7KSJY6ZH44VINNGEB7WH2D2HWYZN5ABF6O32O2HBQJYXQ@2] Running shell script + docker inspect -f . node . …

7
开发人员为什么要关心Docker?
通常,开发人员关心满足业务需求。他/她可能具有特定堆栈或框架中的专业知识。但是他/她是否应该努力学习docker及其各种部署方法(swarm,kube,mesos等)? 简而言之,为什么开发人员应该关心docker? PS:本文的父级问题是向开发团队介绍docker的含义

2
在Jenkins Pipeline中运行Docker时正确的权限设置是什么?
我正在尝试建立一个新的jenkins管道,以测试对我们代码的新请求请求。我在ubuntu:14.04图像上使用docker 来模拟我们的生产环境。 这是一个最小的工作示例: #jenkinsfile stage('Checkout and provision'){ docker.image('ubuntu:14.04').withRun('-u root'){ checkout scm sh 'chmod -R 770 ./' sh './init-script.sh' } } 和 #init-script.sh sudo add-apt-repository ppa:ondrej/php sudo apt-get update -y sudo apt-get dist-upgrade -y sudo apt-get install \ apache2 \ php \ php-mysql \ php-xml \ libapache2-mod-auth-mysql \ libapache2-mod-php \ php5-curl …
11 jenkins  docker 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.