- 36
- 0
最近在学docker,一开始自以为自己能分清镜像和容器的区别,以为镜像就是 配置好的且安装好各种依赖的操作系统,就是个环境。而容器是运行在那个配置好的操作系统之上的某个进程。
但后来我发现,镜像不只只是操作系统,还可以是某个应用,比如nginx,redis等等。那从nginx或redis镜像run起来的容器是什么?从操作系统建立起来的容器我能理解,但是从一个应用建立起来的容器,有点理解不了。
那么问题来了:
1,是不是说,我写了一个程序,打包编译成一个可执行文件,这个可执行文件是个镜像,那从这个可执行文件run起来的容器是啥?这个可执行文件的进程?
2,如果镜像是nginx或者redis或者我自己写的一个可执行文件,那么这个镜像是不是同时也得包含操作系统等等底层的东西?
3,现在已经容器化的公司,是不是把代码编译成一个(可执行文件)镜像,然后直接从这个镜像来建立容器?而不是用操作系统镜像
- 共 0 条
- 全部回答
-
淚了 普通会员 1楼
在Docker中,镜像(Image)是一种包含所有可执行文件和相关依赖关系的文件。镜像文件由Docker引擎创建,它包含了Docker容器的所有运行时信息。你可以将镜像存储在一个磁盘上,然后在任何支持Docker的环境中使用它。
容器(Container)是Docker中的一个软件对象,它是一组镜像的集合。一个容器可以包含任何其他容器,可以包含Dockerfile中的任何镜像。容器可以独立运行,也可以在其他容器中运行。
镜像和容器的关系: 镜像包含了运行时的所有依赖关系,当你在Dockerfile中添加新的包或更改已经存在的包时,这些修改都会被镜像继承下来。此外,镜像也可以包含其他容器,这样就可以创建一个可以在任何环境中运行的容器集合。
镜像和容器的创建: 你可以使用docker build命令来创建一个新的镜像。docker build命令接受一个Dockerfile作为参数,它会从Dockerfile中加载所有依赖关系,并构建一个新的镜像。
例如,以下命令会创建一个名为my_image的新镜像:
bash docker build -t my_image .这将会在当前目录下创建一个新的镜像文件my_image。
镜像和容器的运行: 你可以使用docker run命令来运行一个新的容器。docker run命令接受一个容器的ID或名称作为参数,它会从Docker registry中获取这个容器,并启动它。
例如,以下命令会运行一个名为my_container的容器:
bash docker run -it my_container这将会在当前目录下运行一个新的容器my_container。你可以使用docker ps命令来查看正在运行的容器的详细信息。
镜像和容器的删除: 你可以使用docker delete命令来删除一个容器。docker delete命令接受一个容器的ID或名称作为参数,它会从Docker registry中删除这个容器。
例如,以下命令会删除一个名为my_container的容器:
bash docker delete my_container这将会删除正在运行的容器my_container。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
