经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Docker » 查看文章
docker容器与镜像的区别
来源:cnblogs  作者:天下没有收费的bug  时间:2021/6/15 9:04:28  对本文有异议

今天抛开原理,抛开底层。通俗的讲解docker中容器与镜像的区别。

对于初学者来说,刚刚接触docker会有点迷,特别是镜像与容器。其实我们可以理解镜像与容器为一对多的关系。

下图错误的示范,为什么是错误的呢?因为可以通过一个镜像确实可以启动三个容器,但是这个三个容器的名字不能一样

 

 

 

正确的示例(有人说这和上图有什么区别,上图中是不是名字一样了  容器=容器=容器 ,这里的名字是 容器a != 容器b != 容器c ) 

 

 

 

所以我们能通过一个镜像,运行出三个容器,镜像是别人打包好在镜像仓库的,我们去下载就好了。但是我们下载镜像的时候要带上版本号。就像我们下载一个jdk,官网默认是最新版,如果我们要下载旧版,就要进到对应的版本里面。

一个镜像怎么运行为容器呢?比如msql,我们下载一个mysql镜像。

  1. docker pull mysql

 

运行镜像,生成mysql_zhangsan数据库(专门给张三用的数据库)

  1. [root@localhost ~]# docker run 3306:3306 ‐‐name mysql_zhangsan e MYSQL_ROOT_PASSWORD=123456 d  mysql
    ad10e4bc5c6a0f61cbad43898de71d366117d120e39db651844c0e73863b9434

-p 3306:3306 : 端口映射

--name mysql_zhangsan : 给这个容器命名为mysql_zhangsan(这个名字是唯一的,不能重复)

-e MYSQL_ROOT_PASSWORD=123456 : 这个数据库登陆的账号为ROOT 密码为123456

-d 是基于我们刚刚拉下拉的镜像mysql进行创建的。

 

运行镜像,生成mysql_lisi数据库(专门给李四用的数据库)

  1. [root@localhost ~]# docker run p 3307:3307 ‐‐name mysql_lisi e MYSQL_ROOT_PASSWORD=123456 d mysql
  2. ms10e4bcfdsf0f61cbad43898de71d366117d120dfs9db651844c0e73863b9968

-p 3307:3307 : 端口映射(不能用3306了,因为3306被张三的数据库占用了)

--name mysql_lisi : 给这个容器命名为mysql_lisi(这个名字是唯一的,不能和上面的mysql_zhangsan重复)

-e MYSQL_ROOT_PASSWORD=123456 : 这个数据库登陆的账号也为ROOT 密码也为123456

-d 是基于我们刚刚拉下拉的镜像mysql进行创建的。

 

到这里,我们成功通过一个镜像,创建了两个不同的容器。这样,我们的电脑上就能运行两个mysql了。如果我们要再开一个mysql容器,只要端口不同,名称不同,最后还是基于我们拉的mysql镜像就可以进行创建了。

原文链接:http://www.cnblogs.com/LoveBB/p/14862263.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号