草庐IT

docker - 我可以在写入/覆盖时挂载 docker 主机目录作为副本吗?

我想在docker中挂载一个主机目录,该目录在外部实际上是只读的。但我希望它以读/写的形式出现在容器内。这样文件/目录可以写入但不能在外部更改。这可能使用某种覆盖过程吗? 最佳答案 编辑:查看@javabrett的评论:Upvoteddespitethissolutionhavingasunset.Seeanswerregardingoverlay-upperdir-on-overlaybeingdisabledon4.8kernelsandnewer.见:https://stackoverflow.com/a/50917037/6

Docker-compose:在多个主机中部署服务

我有一个docker-compose文件,它在同一主机上部署了8个不同的docker服务。是否可以将它部署在不同的主机上?,我想在一台主机上部署一些服务,在另一台主机上远程部署另一个服务。我需要使用docker-swarm吗?还是更简单的方法?我已经读到它可以使用DOCKER_HOST来完成,但是如果我用这个变量配置/etc/default/docker,所有的服务都将在远程主机上运行,​​而我需要的是一个远程主机上的一些服务,以及其他远程主机中的其他服务。 最佳答案 我们现在可以使用dockercomposev3来做到这一点。ht

docker - 为在 Kubernetes 中运行的容器设置主机名

我想在Kubernetes内运行的容器中设置主机名,但Kubernetes似乎覆盖了我在运行时设置的任何内容。我已经尝试在我使用Kubernetes的docker镜像中设置/etc/hostname,并在CMD中包含echo"host.example.com>/etc/hostname"Dockerfile。似乎有一个docker标志-h来设置主机名。有没有办法在我的复制Controller中指定它应该使用特殊标志启动容器?容器的Debian,如果有帮助的话。 最佳答案 我之前的回答不正确,用正确的信息编辑dockerrun的-h标

docker - 当 docker 主机重启时会发生什么?

docker主机关闭并重新启动时会发生什么?是否会重新启动正在运行的图像?对这些图像所做的更改会持续存在,还是会生成图像的新实例并且更改会丢失?docker是否有任何配置选项,例如启动时自动执行的镜像列表以及运行镜像的选项?在哪里?如果没有,我想只有docker命令行可以用来改变docker状态。该状态存储在哪里(我想在/var的某个地方)。这对于备份docker状态可能很有用。(我希望在FAQ中找到它) 最佳答案 willtheimagesthatwererunningberestarted?如果您将-r=True传递给启动选项,

docker - 生产中每台主机应该存在多少个容器?服务应该如何拆分?

我试图更好地了解Docker的好处,但我并不真正了解它在生产中的工作方式。假设我有一个web前端、一个restapi后端和一个db。这使3个容器。假设我想要3个前端,5个后端和7个数据库。(小问题:dbs比后端服务器少有意义吗?)现在,考虑到上述情况,如果我将它们全部打包在同一台主机上,那么我将获得有效使用主机资源的好处,但是当该机器出现故障或有网络分区时,我就处于DOA状态。如果我将它们分成每台主机1个完整的应用程序(即1个FE、1个BE和1个DB),并在它们自己的主机上放置额外的容器,我可以获得一些有效利用资源的优势,但在我看来,我仍然损失惨重当我有一个网络分区时,因为它会关闭多个

bash - 从 docker 容器访问主机的 ssh 隧道

使用ubuntutusty,有一个服务在远程机器上运行,我可以通过来自localhost:9999的ssh隧道通过端口转发访问该服务。我有一个docker容器正在运行。我需要从容器内通过主机的隧道访问该远程服务。我尝试使用-L9000:host-ip:9999从容器到主机建立隧道,然后通过127.0.0.1:9000从内部访问服务容器无法连接。要检查端口映射是否打开,我尝试了nc-luv-p9999#在主机nc-luv-p9000#在容器中关注this,parag.2但是没有感知到的交流,即使在做nc-luv主机IP-p9000在容器中我也尝试通过dockerrun-p9999:900

docker - 从同样位于 boot2docker vm 中的 Docker 容器以 localhost 的身份访问主机

假设我有一台服务器在OSX的8000端口上运行。我的Docker容器如何通过localhost:8000访问它?我也无法更改主机名,因为容器中的应用不在我的控制范围内。我已经阅读了之前关于使用--net="host"让容器访问主机网络的讨论。但是,我在OSX上,Docker在VM内运行,因此来自Docker容器的localhost使用--net="host"进入VM而不是我的真实机器.然后我尝试了portforwardingworkaround像这样:VBoxManagemodifyvm"boot2docker-vm"--natpf1"tcp-port8000,tcp,,8000,,8

vagrant - 如何通过 SSH 连接到 Vagrant 1.6 Docker Provider 设置的 boot2docker 主机 vm?

我在OSX上,我希望能够通过SSH连接到主机vm,以便:访问本地docker环境。这有助于理解和调试端口转发问题。Vagrantrsync似乎留下了许多未使用的同步目录,这些目录占用了我想要恢复的磁盘空间。需要明确的是,这个问题不是关于ssh:ing进入Vagrant提供者创建的docker容器,而是进入Vagrant创建的中间boot2docker主机vm。我知道一种解决方法是不使用默认的boot2docker作为主机虚拟机(如答案here中所述),但这不是这个问题的目的。 最佳答案 Vagrant的boot2docker保存了b

docker - Docker 容器的本地主机名

这里是初学者Docker问题,所以我有一个运行模块化应用程序的开发环境,它使用DockerCompose运行3个容器:服务器、客户端、数据库。docker-compose.yml看起来像这样:##############################Server#############################server:container_name:serverdomainname:server.devhostname:serverbuild:./serverworking_dir:/appports:-"3000:3000"volumes:-./server:/appl

networking - 如何从 Windows 10 上的容器连接到 docker 主机(Docker for Windows)

Docker容器可以通过哪个IP地址连接到DockerforWindows(在Windows10上)上的主机?您如何找到此IP地址?示例:您在Windows10机器上的端口1234上运行了一项服务。容器内的程序必须访问此服务。程序应该使用什么IP地址连接到主机? 最佳答案 简答:在大多数情况下,您需要10.0.75.1。在DockerforWindows中,容器通过称为DockerNAT的vEthernet适配器进行通信。要查找其详细信息,请打开命令提示符并键入ipconfig寻找一个看起来像的条目EthernetadaptervE