首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从一个docker容器在另一个容器上运行该命令是一种好的做法吗?

从一个Docker容器在另一个容器上运行命令并不是一个好的做法。Docker容器是设计用来运行独立的、隔离的应用程序的,每个容器都应该专注于执行特定的任务。在一个容器中运行另一个容器的命令会导致容器之间的耦合性增加,违反了容器的隔离原则。

相反,更好的做法是将需要运行的命令封装在一个镜像中,并通过Docker Compose或Kubernetes等工具来管理多个容器之间的关系。这样可以实现更好的可扩展性和可维护性,同时保持容器的独立性。

对于容器之间的通信和协作,可以使用Docker网络来实现。Docker提供了多种网络模式,如桥接网络、覆盖网络和主机网络等,可以根据具体需求选择合适的网络模式。

总结起来,从一个Docker容器在另一个容器上运行命令并不是一个好的做法,更好的做法是使用Docker Compose或Kubernetes等工具来管理容器之间的关系,并使用Docker网络来实现容器之间的通信。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Docker容器数据储存和转移

同一镜像可以被创建多个同时运行容器,相当于最上层可写层不同而已,Docker版“披上羊皮狼”。 容器数据储存 默认情况下,容器内创建所有文件都存储可写层中。...这意味着: 当容器不再运行时,数据不会持久存在,如果另一个进程需要,则可能很难从容器中获取数据。 容器可写层紧密耦合到运行容器主机。无法轻松地将数据移动到其他位置。...Docker有两容器选项可以主机中存储文件,因此即使容器停止之后文件仍然存在:数据卷和挂载目录。如果你Linux运行Docker,你也可以使用tmpfs mount。...可以使用Docker CLI命令Docker API管理数据卷 卷适用于Linux和Windows容器。可以多个容器之间更安全地共享卷。...主机迁移到另一个Docker主机时,卷更好选择。

1.9K10

什么 Podman?替代 Docker容器引擎

Podman 容器引擎——一用于开发、管理和运行容器容器镜像工具。容器标准化、自包含软件包,其中包含无需定制即可在任何地方运行所需所有元素,包括应用程序代码和支持库。...Podman 与 Docker 您几乎肯定听说过容器世界另一个大牌 DockerDocker 不是第一容器引擎,但在许多方面它已经定义了容器化。...另一个重要区别是 Docker 依赖于一持续运行后台守护程序来创建镜像和运行容器,而 Podman 将容器和 Pod 作为单独子进程启动。...还记得 Docker 如何依赖守护进程来完成大部分正在进行工作?该守护进程以 root 身份运行,这使其成为攻击者潜在入口点。...您还可以使用命令行标志以精细方式向容器添加权限。 性能呢? 至少某些人看来,Docker Podman 优势之一性能。

4.5K61

云计算可迁移性为什么很难完美实现

容器一种将应用程序和操作系统封装到可以支持Docker或Kubernetes等容器标准平台上运行软件包一种技术,从而使其迁移变得更加简单。但容器并不是灵丹妙药。...容器一种将应用程序和操作系统封装到可以支持Docker或Kubernetes等容器标准平台上运行软件包一种技术,从而使其迁移变得更加简单。但容器并不是灵丹妙药。...实际情况,迁移应用程序(无论它们是否容器中)都需要大量计划来处理不同环境兼容性问题。容器使用并不能保证企业容器化应用程序都可以从一平台迁移到另一个平台。...例如,企业不能采用一专门用于Linux容器化应用程序Windows运行,或者反过来这么做。 事实容器实际将应用程序与操作系统捆绑在一起一种很好方式。...事实是,如果企业具有足够时间和资金,所有的应用程序都是可迁移。这种做法创建一应用程序,将最少工作量从一平台转移到另一个平台。

96850

揭开 Kubernetes 神秘面纱

容器将软件和运行软件所需环境封装到一易于交付单元中。 容器软件标准单元,用它来打包代码及其所有依赖项,这样应用程序就可以从一计算环境到另一个计算环境快速可靠地运行。...容器镜像在运行时变成容器,对于 Docker 容器,镜像在 Docker 引擎运行时变成容器容器将软件与环境隔离开来,确保不同环境下实例,都可以正常运行。 什么容器管理?...Pod 代表 Kubernetes 集群运行进程。 Pod 将运行容器、存储、网络 IP(唯一)和控制容器应如何运行命令封装起来。...第一种运行单个容器。即“一容器 Pod”,这种方式最常见。第二种运行多个需要一起工作容器。 Pod 可能封装一由紧密关联且需要共享资源多个同位容器组成应用程序。...目录如何产生,它后端基于什么存储介质,其中数据内容是什么,这些都由使用特定卷类型来决定。 为什么选择 Kubernetes? 容器捆绑和运行应用程序方法。

58010

Docker容器进入4种方式(推荐最后一种)

关于为什么不建议使用,请参考如下文章: 为什么不需要在 Docker 容器运行 sshd 三、使用nsenter进入Docker容器   在上面两种方式都不适合情况下,还有一种比较方便方法,即使用...nsenter可以访问另一个进程名称空间。所以为了连接到某个容器我们还需要获取容器第一进程PID。可以使用docker inspect命令来拿到PID。...docker inspect命令使用如下: $ sudo docker inspect --help inspect命令可以分层级显示一镜像或容器信息。比如我们当前有一正在运行容器 ?.../eYnUBrR 四、使用docker exec进入Docker容器   除了上面几种做法之外,docker1.3.X版本之后还提供了一命令exec用于进入容器,这种方式相对更简单一些,下面我们来看一下命令使用...接下来我们使用命令进入一已经在运行容器 $ sudo docker ps $ sudo docker exec -it 775c7c9ee1e1 /bin/bash

92.2K30

为什么不需要在 Docker 容器运行 SSHD

当开始使用Docker时,人们经常问:“我如何进入容器?”,其他人会说“在你容器运行SSH服务器”。但是,从这篇博文中你将会了解到你根本不需要运行SSHd守护进程来进入你容器。...当然,除非你容器就是一SSH服务器。 运行SSH服务器很想当然,因为它提供了进入容器简便方式。我们公司基本每个人都最少使用过一次SSH。...然后你可以使用--volumes-from选项来运行另一个容器,与第一容器共享这个volume。...如果你需要从一远程主机进入一容器,有(至少)两方法: SSH 进入 Docker 主机,并使用 nsenter; SSH 进入 Docker 主机,通过一特殊密钥参数授权esenter...总结 容器运行SSH服务器,这真的错误(大写字母W)?老实说,没那么严重。当你不去访问Docker主机时候,这样做甚至极其方便,但是这仍然需要在容器中取得一shell。

82230

它和Docker有啥区别?

Kubernetes可以使用Podman?答案:是的。事实,Kubernetes和Podman某些方面相似的。 Podman对于容器有着不同方法论。...比较主要好处开发人员可以共享资源,Pod中为同一应用程序使用不同容器:一容器用于前端,另一个容器用于后端,还有一数据库。...守护进程在后台运行程序,它处理服务、进程和请求,没有用户界面。Podman一种独特容器引擎,因为它实际并不依赖于守护进程,而是作为子进程启动容器和Pod。...架构 Docker使用守护进程,一正在后台运行程序,来创建镜像和运行容器。Podman无守护进程架构,这意味着它可以启动容器用户下运行容器。...构建镜像 作为一款自给自足工具,Docker可以自己构建容器镜像。Podman则需要另一种名为Buildah工具辅助,工具充分体现了它特殊性:它是为构建镜像而设计,而不是为构建容器而生。

1.7K30

Docker容器之间拷贝数据:原理与操作示例

Docker容器Linux命名空间(Namespace)机制下被激活,这样就 可以使得运行在同一服务器不同Docker容器能在网络(Networking)与存储(storage)层面上被“隔离”...每个Docker容器都是Docker镜像(image)基础创建而来;而一Docker镜像可以支持创建、运行多个Docker容 器,这主要取决于服务器硬件性能。...这就是一Docker容器怎么被创建出来从一容器拷贝数据到另一个容器容器之间拷贝数据Docker重要而且基本功能。...同样目标可以Dockerfile中使用ADD命令实现。ADD有两参数一容器目的容器。ADD命令可以实现从源容器拷贝文件或者数据到目的容器目标,而不用管各个容器文件系统差异。...而Docker做法:开发容器核心容量,开发跨容器服务管理与通信功能。我们在这篇文章中所阐述数据可以容器间被复制与冗余,这可以用来应付各种数据损毁与恢复。

83920

Docker 是什么,怎么装,怎么用

一、揭开 Docker 神秘面纱 Docker Linux容器运行应用开源工具,一种轻量级“虚拟机”诞生于2013年,短短几年时间,已经成为了开源社区最火爆项目。 ....如果镜像已经被容器使用,正确做法先删除依赖镜像所有容器,再去删除镜像。...push docker/dhcp:centos7.3 Docker 容器操作 容器Docker另一个核心概念,简单来说,容器就是镜像运行实例,独立运行或一组应用及它们所必须运行环境...: 用户可以将任何一 Docker 容器从一台机器迁移到另一台机器。...迁移过程中,首先需要将已经创建好容器导出为文件,可以使用 docker export 命令实现,无论这个容器处于运行还是停止均可导出。

3.1K20

Docker简单使用

但是从我实际操作来看,dockermac很慢,并不比虚拟机快多少,在编译AOSP时也会造成卡死,因为mac平台上docker运行在一虚拟机上。...但这个对Host机为Linux而言,macOS运行docker容器本质还是跑linux虚拟机上。...当从一镜像启动容器时,Docker会在镜像最底层加载一读写文件系统,我们想在Docker运行程序就是在这个读写层中执行。 下图Docker文件系统层。...构建镜像最方便做法写一Dockerfile文件,让docker自带工具读它,然后生出一镜像文件来。...最后/bin/bash告诉Docker容器中要运行什么命令。其中--name参数告诉Docker创建一名为test_container容器

1.2K110

一起使用Kubernetes和Docker优点

你将离开这篇文章,了解拼图所有部分如何组合在一起。 一切都始于您本地环境 因此,让我从一每次部署中挣扎的人生活中开始。然后我将解释这两种技术如何提供帮助。...John有两应用程序:一.NET Core中,另一个Node.js. 每当新版本语言,框架或库出现并且他必须进行升级时,他就会挣扎。问题当事情与他安装东西不兼容时。...容器一种将一块软件打包并与其运行所需一切隔离方法。我意思“隔离”,因为容器可以从运行主机分配不同资源。...他只需要运行以下命令: 搬运工 运行 - d - p 80:80 dotnetapp 此命令将开始主机端口80运行应用程序。无论他在哪里运行这个命令都没关系。...他必须在所有服务器运行上一命令。如果由于某种原因容器死了,他必须去那个服务器并运行命令再次启动它。 等待。这听起来不像是一种改进,对?它与启动虚拟机没什么不同。

5.6K00

Pycharm代码docker容器运行调试 | 机器学习系列

本文主要是为了解决工作环境中,本机电脑没有显卡,需要将程序运行在带显卡远程服务器。 本文会介绍如何部署使用显卡docker容器、如何使用pycharm连接docker容器运行机器学习代码。...–net=host:容器使用,懒人做法容器内和宿主机共享网络,下面另一个例子会有更好方式。...这里要做容器内安装,所以需要对容器内系统做一些命令升级。...如果使用上面另一种方法,则无需修改,因为容器将内部22端口映射到宿主机2299,没有共享。...还有一很重要功能,就是这个你调试容器可以直接打包docker镜像,其他人只要拉取镜像就可以运行程序代码。直接解决容器化工程问题。 如果这篇文章对你有作用的话,请来个点赞吧,比心。

1.5K41

技巧,将Docker镜像体积减小90%【面试+工作】

过去,将多个RUN语句组合在一行命令中或许是一种很好做法,就像上面的第一例子那样,但在现在看来,这样做并不妥。 1....比之前镜像小了600MB! 但在使用distroless时有一些事项需要注意。 当容器运行时,如果你想要检查它,可以使用以下命令attach到正在运行容器: ?...没有shell情况下,如何attach到正在运行容器呢? 答案,你做不到。这既是坏消息,也是好消息。 之所以说是坏消息,因为你只能在容器中执行二进制文件。...现在可以attach到正在运行容器?让我们来试试。 让我们先启动容器: ? 你可以使用以下命令attach到运行容器: ? 看来不行,但或许可以使用shell? ? 成功了!...只容器中安装一二进制文件可以降低总体风险。 例如,如果攻击者能够利用运行在distroless应用程序漏洞,他们将无法容器中使用shell,因为那里根本就没有shell! ?

1.4K10

Docker 入门教程

和传统虚拟机不同,一 Docker 容器并不包含一单独操作系统,而是基于已有的基础设施中操作系统提供功能来运行。...它把应用程序及所有程序依赖环境打包到一虚拟容器中,这个虚拟容器可以运行在任何一种 Linux 服务器。...Docker 之所以有用,是因为把代码从一机器迁移到另一个机器经常是困难。它尝试去使得软件迁移过程变得更加可信和自动化。Docker 容器可以移植到所有支持运行 Docker 操作系统。...它可以 EC2, RackSpace VMs 那样虚拟环境中运行。事实 Mac 和 Windows 系统使用 Docker 更好方式使用 Vagrant。...现在,我们 Docker 容器运行脚本: $ sudo docker run -t -i -p 3000 mattdm/fedora /bin/bash 在运行完上面的命令后,我们就在 Docker

95570

docker学习系列9 Docker技术原理介绍

简单说就是, Linux 系统迅速创建一容器(类似虚拟机)并在容器上部署和运行应用程序,并通过配置文件 可以轻松实现应用程序自动化安装、部署和升级,非常方便。...Docker相关核心技术之LXC LXCLinux containers简称,一种基于容器操作系统层级虚拟化技术。...多亏 AuFS,只要一CentOS镜像副本就够了,这样既节省了存储和内存,也保证更快速容 器部署。 使用AuFS另一个好处Docker版本容器镜像能力。...每个新版本都是一与之前版本简单差异改动, 有效地保持镜像文件最小化。但,这也意味着你总是要有一记录容器从一版本到另一个版本改动 审计跟踪。...例如一apache运行环境可能基础rootfs image基础,叠加了包含例如Emacs等各种工具image,再叠加包含apache及其相关依赖libraryimage,这些image

56020

Docker多架构容器镜像构建方式

我们将编写一示例代码,用于 CI/CD 管道中构建多架构镜像。 什么多架构容器镜像? 多架构 Docker 镜像是一镜像列表,其中引用了为多个 CPU 架构编译二进制文件和库。...使用多架构容器镜像好处 使用多架构容器镜像几个优点: 能够多个 CPU 架构运行 Docker 镜像 使我们能够选择环保CPU架构 从一种架构无缝迁移到另一种架构 使用arm64获得更好性能并节省成本...在后台,Docker buildx 命令使用 buildkit,因此当我们运行上述命令时,它会创建一带有moby/buildkitd 映像容器容器具有用于多个 CPU 架构QEMU 二进制文件...为了避免这些复杂步骤,我们可以利用以下工具。 Skopeo或Crane可用于仅使用一命令即可将我们多架构映像从一帐户提升到另一个帐户。...使用多架构镜像使我们能够构建一次并在各处运行。我们可以轻松地从一 CPU 架构无缝迁移到另一个 CPU。此外,通过部署针对特定架构优化镜像,我们可以获得更好性能并降低资源成本。

83441

记录我们迁移到 Docker 挑战和经验教训

Docker 迁移部分 I: 方面先从 Docker 好处开始。我们已经意识到 PaaS 环境中容器好处。有些方面真的很容易实现。...但是为什么 container-structure-test 需要一预先存在构建步骤呢?因为,在后台,它在活跃容器使用 docker exec 命令运行每一测试。...,另一个有用选项将 setup 关键词与测试命令结合使用。...这可能起作用,因为我们仍然每个服务器运行应用程序容器,所以现在这是有意义。 我们选择了最后一选项,结果简单、优化,并且尊重我们热爱 Linux 精神。...我们希望未来实施一些最佳实践包括: 代理依赖管理器(例如 composer、npm、maven) Docker 层缓存,而不是原始构建环境 从一构建到另一个构建共享数据卷 构建并推动镜像更接近生产环境

87620

docker原理

Docker容器技术不依赖任何语言、框架或系统,可以将App变成一种 标准化、可移植、自管理组件,并脱离服务器硬件在任何主流系统中开发、调试和运行 简单说就是, Linux 系统迅速创建一容器...如果我们在当前 Linux 操作系统下运行 Docker 容器,并通过 exec 进入其内部 bash 并打印其中全部进程,容器内部执行 ps 命令打印出了非常干净进程列表。...使用AuFS另一个好处Docker版本容器镜像能力。每个新版本都是一与之前版本简单差异改动, 有效地保持镜像文件最小化。...但,这也意味着你总是要有一记录容器从一版本到另一个版本改动 审计跟踪。...Docker Hub你可以很轻松下载 到大量已经容器应用镜像,即拉即用。这些镜像中,有些Docker官方维 护,更多众多开发者自发上传分享

96440

如何备份Kubernetes和Docker

这种做法虽然有些过时,但这是容器世界所面临挑战之一,因为容器中放置备份代理典型方法并不是一种很好选择。一旦关闭,便可以备份卷。...如果它是传统Docker卷,则可以通过将其挂载到另一个备份时不会更改其数据容器中进行备份,然后绑定安装卷中创建tar镜像,然后使用备份系统使用任何方法进行备份。...另外,如果用户使用绑定安装目录、NFS安装文件系统或对象存储系统作为持久性存储系统,则可以使用最佳方法来备份存储系统。这可能快照,然后复制,或者只是该系统运行商业备份软件。...另一种方法直接连接到数据库引擎本身,并要求它运行到文件备份,然后可以对其进行备份。如果数据库容器运行,则首先需要使用绑定安装来附加一可以备份卷,因此其备份可以存在于容器外部。...一种解决方案可能使用docker ps命令列出正在运行容器,然后使用docker inspect命令显示每个容器配置。有一名为“挂载”部分,它将告诉用户将哪些卷挂载何处。

1.4K10

CoreOS那些事之Rkt容器尝鲜(下) 转

> 第一种方式AppC推荐镜像分发URL,这种方式有点像Docker Repository,但实际只是HTTPS协议简写方式。...Docker各种镜像已然铺天盖地的当下,一容器工具想要最快积累镜像数量,最好办法就是兼容Docker镜像或者将Docker镜像进行转换。...下面就来说说从Docker到AppC镜像转换,相应工具Docker2Aci。 这个工具不论Ubuntu或者CoreOS都没有预装,因此需要单独安装。...考虑到大多数用户都是没有Golang开发环境另一个比较简单办法:通过容器。因为,Docker官方已经提供了一用于Golang开发容器镜像,名字就叫golang。...,AppC引入一种镜像来源验证机制,本质利用非对称加密标准数字签名。

83920
领券