docker有三个基本概念:镜像/容器/仓库

镜像:一个完整的root文件系统,但并非一个iso的打包文件,而是使用分层存储。构建镜像时,是一层一层的。新的镜像,也可以在原有镜像上添加新层。

容器:是镜像运行的实体。可以进行创建/删除,启动/停止等操作。容器是一个具有独立命名空间的进程,可以有自己的root fs,网络配置,用户。由于和宿主机系统隔离,在容器中封装运行的应用,相比宿主机更加安全。容器运行时,是在镜像上在创建一层容器存储层,其生命周期和容器一致。基于数据安全考虑,容器存储层不应存放应用数据,数据应存放在独立于容器存在的数据卷(相当于虚拟化中的持久盘)上。

仓库:一个集中存储,用于分发镜像到宿主机。一个 Docker Registry上可以有多个仓库,仓库以软件名命名,每个仓库下有多个子标签,对应软件的不同版本。Docker Registry是多用户环境。通过国内的一些加速器,可以访问公共镜像。自己搭建的是私有仓库。

版本:ce(community edition),免费,支持周期三个月。ee(enterprice edition),收费,一年支持。17.3版就是17年三月发布。ce和ee命名方式一致。

docker安装

在生产环境中离线安装比较好。docker-ce安装依赖于container-selinux。所以要先安装container-selinux。

rpm -ivh container-selinux-2.21-1.el7.noarch.rpm docker-ce-17.06.0.ce-1.el7.centos.x86_64.rpm
systemctl start docker
docker run hello-world

镜像加速器

vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}

创建私有registry

实际上就是从共有仓库上pull一个镜像下来

docker run -d -v /docker-repos -p 5000:5000 --restart=always --privileged=true --name registry registry:latest

创建一个nginx容器

首先宿主机上有一个fc挂过来的目录,比如/docker,然后里面建立nginx1目录。

docker run -d -v /docker/nginx2:/www --name nginx2 nginx

container设定name,设定持久盘挂载点,设定基础镜像,后台启动。

使用docker volume inspect my-vol可以查看该vol在宿主机中的位置。使用docker inspect nginx1可以看到mount一栏,巡察具体的挂载信息。

1-docker基础的更多相关文章

  1. Docker - Docker基础命令及使用

    Docker Docker - 官网 Docker - Hub GitHub - Docker Docker中文社区 Docker基础命令 Docker 查看帮助信息:docker --help 查看 ...

  2. 【云计算】Docker云平台—Docker基础

    Docker云平台系列共三讲,此为第一讲:Docker基础 参考资料: Docker官方文档:https://docs.docker.com/ Docker从入门到实践:https://yeasy.g ...

  3. Docker基础技术:Linux Namespace(下)

    在 Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD.IPC.PID.Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像.在这一篇中,主 ...

  4. Docker 基础技术:Linux Namespace(下)

    导读 在Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD.IPC.PID.Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像.在这一篇中 ...

  5. Docker基础入门及示例

    Docker近几年的发展可谓一日千里,特别从是2013年随着一个基于LXC的高级容器引擎开源,到现在,其在linux和windows上都有了很好的支持,并且已经有很多公司将docker用于实际的生产环 ...

  6. Docker 基础 : 镜像

    目录 获取镜像 查看镜像信息 搜索镜像 删除镜像 创建镜像 导出和导入镜像 上传镜像 总结 镜像是 Docker 的三大核心概念之一.Docker 运行容器前需要本地存在对应的镜像,如果本地没有对应的 ...

  7. Docker 基础技术之 Linux cgroups 详解

    PS:欢迎大家关注我的公众号:aCloudDeveloper,专注技术分享,努力打造干货分享平台,二维码在文末可以扫,谢谢大家. 推荐大家到公众号阅读,那里阅读体验更好,也沉淀了很多篇干货. 前面两篇 ...

  8. docker 基础知识分享ppt

    给团队做的docker基础分享ppt, 见下面的附件. https://files.cnblogs.com/files/harrychinese/docker_intro.pptx

  9. 中标麒麟龙芯平台--docker基础镜像制作

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 的出现为开发人员和运维人员带来了极大的便利.Docker在X86下常见的发行版Linux如Ub ...

  10. Docker系列03—Docker 基础入门

    本文收录在容器技术学习系列文章总目录 1.概念介绍 1.1 容器 1.1.1 介绍 容纳其它物品的工具,可以部分或完全封闭,被用于容纳.储存.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. ...

随机推荐

  1. return和exit

    return从当前函数返回而exit结束正在运行的程序 示例: [wangml@iZwz976helaylvgqok97prZ testForC]$ ./exit.test q [wangml@iZw ...

  2. AppFuse 3的乱码问题

    书接上回:AppFuse 3常见问题与解决方法,一个新问题:乱码! 在3.0.0版本号下,运行mvn appfuse:full-source命令后使用mvn jetty:run启动工程,页面上就出现了 ...

  3. Session Timeout 与 $.ajaxSetup

    对于session过期跳转的问题,很简单,就是一个过滤器,然后判断session为空?跳转:继续.但是对于ajax的请求,需要做特殊处理,见下面代码中的 // 此处考虑ajax操作session过期的 ...

  4. CH 5105 Cookies(贪心+DP)

    \(CH 5105 Cookies\) \(solution:\) 真是好题一道!这道题我想了很久很久,就得这一题可以直接完全贪心,可惜最后还是失败了,但是对贪心的深入思考也换来了一个最优解方案.然后 ...

  5. CLI和CGI的区别

    CGI :“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上.以CGI方式运行时,web s ...

  6. navcat for mysql 连接远程数据库 教程

    1.首先进入数据库: mysql -uroot -p 2.然后打开数据库设置远程连接权限: mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'ID ...

  7. iOS UIView控件的常用属性和方法的总结

    一 UIVIew 常见属性1.frame 位置和尺寸(以父控件的左上角为原点(0,0))2.center 中点 (以父控件的左上角为原点(0,0))3.bounds 位置和尺寸(以自己的左上角为原点 ...

  8. spring的依赖注入(DI)、控制反转(IOC)和面向切面(AOP)

    在spring的配置文件增加 <context:component-scan base-package="com.jmu.ccjoin.service"/> <c ...

  9. A喝酒(北京林业大学校赛)

    http://www.jisuanke.com/contest/1410 王大钉喜欢喝酒,存货都喝完了,他就去楼下买,正好楼下的商店为了响应学校的 ACM 校赛推出了优惠活动:凡是在本店买的啤酒,喝完 ...

  10. confluence的使用

    搜索文档的技巧 在confluence中进行搜索的时候,也需要使用通配符.比如搜索cmscontext,需要这么搜索cmscontex*,如果搜索的话,cmscontext.geturl是会被过滤掉的 ...