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

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

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

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

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

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

相关搜索:在新的空DataTable上使用"using“是一种好的做法吗?在一个CloudRun服务上运行两个容器是可能的吗?在docker容器上运行一个不是无头的chrome为什么docker build在中间容器中运行一个命令,然后该命令被移除,从而导致该命令被忽略?使用Docker容器的静态IP在另一个网络上运行web应用在PHP服务器上隐藏/记录错误是一种好的做法吗?在React组件中使用getter呈现另一个组件是一种好的做法吗?从finalize()操作符发出另一个Observable是一种好的做法吗?当在docker容器中运行GitLab运行器时,shell executor是一个安全的选项吗?我可以在Mac上的docker容器中运行Visual Studio和.Net框架吗?添加一个模块作为另一个模块的依赖项是一种好的做法吗?在cucumber dataTable的步骤定义的末尾放一个冒号(:)是一种好的做法吗?可以从一个ec2实例运行一个命令,然后在另一个ec2实例上执行该命令吗?在Heroku上部署后,在生产环境中自动运行php artisan migrate是一种好的做法吗?在python中有一个抽象的父类和一个抽象的子类是一种好的做法吗?在同一个应用程序中使用意图进行通信是一种好的做法吗?直接从同一控制器的另一个REST端点调用REST端点(方法)是一种好的做法吗?在使用MySQL和NodeJs时,为每个前端请求打开一个新连接是一种好的做法吗?我可以在64位主机内核上的64位docker容器中运行32位二进制文件吗?我可以运行我的rake作业吗:和我运行我的rails服务器一样,在同一个docker容器中工作?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Docker容器数据储存和转移

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

2K10

运维实践|初识容器化工具Podman

前言Docker技术容器化领域广泛影响力和其曾经快速崛起,可以说以前一种神级别的存在,Docker并没有发明容器技术,它将计算机代码打包成紧凑单元方法,通过创建一套通用开源工具和可重用镜像...Docker使开发人员能够轻松地将他们代码“容器化”并将其从一系统移动到另一个系统,迅速将其确立为行业标准,颠覆了虚拟机(VM)上部署应用程序主要方式。...Podman简介Podman,作为一种相对较新容器化工具,不仅提供了与Docker类似的功能,而且安全性和效率也有所增强。...这里遗留一问题,既然Podman比Docker,那么我们必须要切换到Podman?...podman load总结Podman功能强大、安全高效容器运行时工具,它为用户提供了更加灵活和高效容器管理体验。

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

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

    1K50

    什么 Podman?替代 Docker容器引擎

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

    8.6K61

    它和Docker有啥区别?

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

    1.9K30

    揭开 Kubernetes 神秘面纱

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

    62110

    容器安全系列Ⅱ】- 容器隔离与命名空间深度解析

    一种方法使用 Docker inspect 命令。    ...运行容器时,使用 PID 命名空间查看在另一个容器运行进程也很有帮助。docker run --pid 参数允许我们另一个容器进程命名空间中启动一容器以进行调试。    ...另一个可用于与网络命名空间交互 Linux 工具 ip 命令本身,通过 netns 子命令。此子命令通常允许您与系统各种网络命名空间进行交互。...一般情况下,分配给进程 cgroup 没有命名空间,因此存在有关进程信息从一容器泄漏到另一个容器风险。...运行命令将带我们进入一 shell, shell 中,我们似乎 root 用户。

    12310

    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

    97.2K30

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

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

    89630

    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

    96370

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

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

    95820

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

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

    1.3K41

    一起使用Kubernetes和Docker优点

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

    5.7K00

    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

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

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

    1.8K41

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

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

    1.5K10

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

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

    57820

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

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

    91520

    Docker 容器已经运行情况下,如何对外暴露端口

    一旦 Docker 容器已经运行起来后,原则不能直接修改容器配置来新增端口。...Docker 容器端口映射启动容器时通过 -p 或者 --publish 参数来设置,一旦设置并且容器运行起来后,这些设置就固定下来了。...不过,如果你需要在已经运行容器对外暴露新端口,有一些间接方法可以尝试: 使用 docker commit 命令创建一镜像,然后基于这个新镜像启动一容器,并在启动时指定需要暴露端口。...使用 Docker 网络功能,如创建一网络桥接或者使用 docker network connect 将容器连接到另一个网络接口,这样可以不重启容器情况下改变网络设置。...上述方法并不是直接通过修改现有运行容器来实现,而是通过一些外部操作或容器重建来实现端口暴露目的。如果你希望对外暴露端口,建议设计 Docker 容器时提前规划端口映射。

    2.3K10
    领券