Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Docker构建过程中看起来完美安装的程序并不存在于运行容器中

在Docker构建过程中看起来完美安装的程序并不存在于运行容器中
EN

Stack Overflow用户
提问于 2017-12-09 17:28:57
回答 1查看 135关注 0票数 0

我有一个dockerfile,似乎可以成功安装各种程序。

例如,我在这里安装sfdx-cli:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
RUN wget -O - https://developer.salesforce.com/media/salesforce-cli/sfdx-linux-amd64.tar.xz  | tar Jxv &&     sfdx/install &&     rm -rf sfdx

我知道它是成功的,因为后面的一行会导致它自我更新。

下面是我安装apt-transport-https的另一个例子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
RUN apt-get install -y apt-transport-https

我知道这行得通,因为下一行安装了heroku,它依赖于apt-transport-https:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
RUN apt-get update && apt-get install -y heroku

但是,当我基于此镜像运行容器时,sfdx-cli和apt-transport-https都不存在。我已经使用"find /“命令进行了搜索,但在任何地方都找不到它们,更不用说在它们预期的位置了。

一般来说,容器运行得很好,有许多程序可以运行。例如,"heroku“命令工作得很好。

我显然遗漏了一些关于docker工作方式的基本信息,但我在网上找不到任何关于这方面的信息。

下面是当前的Dockerfile文件:https://gist.github.com/alexed1/ad4917f53bed34318e1aa2801a82e911

下面是我的build命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker build . -t alexed1:dev5

下面是我的run命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker run -it -v /Users/aedelstein/Dropbox/dev:/home/alexed/dev \
   -p 8000:8000 -p 5000:5000 -p 80:80 -p 1717:1717 alexed1/dev5
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-09 22:41:14

镜像名称由两个组件repository和一个:tag组成。如果未指定:tag,则默认为:latest

正在运行的容器正在使用镜像alexed1/dev5。这等同于标记alexed1/dev5:latest

正在构建的映像是不同的,并且正在标记为alexed1:dev5

要运行构建的映像,请使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker run -it -v /Users/aedelstein/Dropbox/dev:/home/alexed/dev \
  -p 8000:8000 -p 5000:5000 -p 80:80 -p 1717:1717 alexed1:dev5
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47731210

复制
相关文章
如何构建在 Docker 容器中运行命令?
Docker 是一种开源的容器化平台,它可以让开发者打包应用程序及其所有依赖项,并将其部署到任何支持 Docker 的环境中。Docker 容器提供了一种轻量级、可移植、自包含的方式来运行应用程序。本文将详细介绍如何构建在 Docker 容器中运行命令的步骤和技巧。
网络技术联盟站
2023/07/13
2880
如何构建在 Docker 容器中运行命令?
Docker容器——在Ubuntu中安装Docker
日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。 同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。
cn華少
2022/01/11
2.8K0
docker停止运行中的容器(docker关闭容器)
centos 启动一个容器添加了-d 参数,但是docker ps 或者docker ps -a查看却已经退出了
全栈程序员站长
2022/07/25
8.7K0
docker停止运行中的容器(docker关闭容器)
Docker 容器中运行 Docker 命令
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/145668.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/29
2.6K0
如何在Docker容器中运行Docker [3种方法]
/var/run/docker.sock是默认的Unix套接字。套接字用于在同一主机上的进程之间进行通信。Docker守护程序默认情况下侦听docker.sock。如果您在运行Docker守护程序的主机上,则可以使用/ var/run/docker.sock管理容器。
DevOps云学堂
2020/09/14
27.2K0
如何在Docker容器中运行Docker [3种方法]
远程访问docker容器_docker运行python程序
启动后使用xshell远程连接宿主机的10022端口是无法连接成功的,此时我们需要进入docker容器内部进行一些操作:
全栈程序员站长
2022/09/28
1.6K0
远程访问docker容器_docker运行python程序
Java 程序运行过程中的内存分析
作为 java 程序员,都应该知道 Java 程序运行在 JVM(Java Virtual Machine,Java 虚拟机)上,可以把 JVM 理解成 Java 程序和操作系统之间的桥梁,JVM 实现了 Java 的平台无关性,由此可见 JVM 的重要性。所以在学习 Java 内存分配原理的时候一定要牢记这一切都是在 JVM 中进行的,JVM 是内存分配原理的基础与前提。 ---- Java 程序在运行的过程中涉及到以下内存区域: 栈 存放局部变量,可保存基本数据类型的值,还可以保存引用类型变量,即对象的
拾点阳光
2018/05/10
9170
使用docker构建jenkins镜像并运行容器 顶
docker近两年很火,最近在听cSphere希云主办的docker培训,
donghui
2019/04/19
2.1K0
使用docker构建jenkins镜像并运行容器
                                                    顶
在Docker容器里安装WebSphere
记录下在在Docker容器里安装webshpere的步骤,前提是已经安装好了docker,能够正常使用。
星哥玩云
2022/07/12
1.7K0
在Docker容器里安装WebSphere
在docker中通过X11运行gui程序
我们都知道Docker是一个开源项目,提供了一个打包、分发和运行任意程序的轻量级容器的开放平台。它没有语言 支持、框架或者打包系统的限制,并可以运行在任何地方、任何时候,从小型的家用电脑到高端的服务器都可以运行。这让人们可以打包不同的包用于部署和扩展网 络应用,数据库和后端服务而不必依赖于特定的栈或者提供商。
羽翰尘
2019/11/20
10.9K0
在 Docker 容器中编辑文件
我希望每次在docker容器中安装vi的时候谁会给我1美元...我想要一个在运行的docker容器编辑文件的更简单的方式。首先,尝试避免编辑文件,这违背了容器的哲学理念(见最后一段)。
星哥玩云
2022/07/03
5.5K0
在 Docker 容器中编辑文件
在 Docker 容器中捕获信号
我们可能都使用过 docker stop 命令来停止正在运行的容器,有时可能会使用 docker kill 命令强行关闭容器或者把某个信号传递给容器中的进程。这些操作的本质都是通过从主机向容器发送信号实现主机与容器中程序的交互。比如我们可以向容器中的应用发送一个重新加载信号,容器中的应用程序在接到信号后执行相应的处理程序完成重新加载配置文件的任务。本文将介绍在 docker 容器中捕获信号的基本知识。
星哥玩云
2022/07/19
2.7K0
在 Docker 容器中捕获信号
"Docker 容器命令:解析容器化应用程序的运行时"
镜像是在docker中的,应用是在一个镜像中的,如何在容器中运行一个程序,如果直接使用docker访问是不行的,因为此时的应用只是在某个镜像下启动了,相当于在docker内部,而不是docker本身,此时就需要将镜像中的应用程序的启动端口映射给docker,在docker访问映射端口的时候跳转到容器中启动的程序。
Java学术趴
2023/06/29
3480
"Docker 容器命令:解析容器化应用程序的运行时"
在docker中运行mysql实例
Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机。下图是容器跟虚拟机的对比
陈灬大灬海
2019/03/15
3.7K0
在docker中运行mysql实例
Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机。下图是容器跟虚拟机的对比
陈灬大灬海
2019/03/29
3.9K0
在docker中运行mysql实例
在docker中运行Kali Linux
当使用各种工具或创建隔离的环境时,Docker是虚拟化的绝佳替代品。Docker是轻量级的(在Linux上本机运行,没有虚拟机管理程序层),并且是不需要GUI的用例的理想选择。Offensive Security已经创建了一个官方的Kali Linux Docker镜像,名为`kalilinux/kali-rolling`,我们将在本文中用其创建并运行Kali Linux容器。
点火三周
2021/04/30
11.7K0
在docker中运行Kali Linux
在 Gitlab 中构建 Docker 镜像
有了 Gitlab CI 的脚本能力,又有容器镜像仓库的支持,自然的一个想法就是,在 Gitlab 上构建容器镜像,并推送到镜像仓库之中。
崔秀龙
2019/07/22
2.3K0
在 Gitlab 中构建 Docker 镜像
一个docker容器中运行多个服务还是弄一堆docker容器运行?
一 结论 一个容器一个服务 二 原因 一个容器多个服务,即自带初始化数据或者多个服务的高定制容器 1.不利于维护 2.不方便修改初始化数据 3.会造成重复服务 三 单机的多个服务部署及初始化,可以使用docker-compose 分布式的多个服务部署及初始化,明显就是k8s
ydymz
2021/01/05
2.7K0
运行docker容器遇到的坑
今天工作中,需要在本机启动consul、zipkin两个容器,参考docker和zipkin两个镜像的说明,很自然地敲出了以下命令:
jeremyxu
2019/03/19
1.5K0
在Docker守护进程停机期间保持容器运行(即重启Docker时,正在运行的容器不会停止)
在默认情况下,当 Docker 守护进程终止时,它将关闭正在运行的容器。不过,我们可以配置该守护进程,以便在该守护进程不可用时容器仍在运行。这种功能称为实时恢复。实时还原选项有助于减少由于守护进程崩溃、计划中断或升级而导致的容器停机时间。
非著名运维
2023/02/20
4.1K0
在Docker守护进程停机期间保持容器运行(即重启Docker时,正在运行的容器不会停止)

相似问题

Docker -如何运行在构建过程中安装的包?

03

在构建过程中重新启动Docker容器

30

在docker容器中运行composer安装

20

在Docker容器中运行VSTS构建作业

10

Docker容器仅用于程序构建,无需运行

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文