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. java工具类(四)之实现日期随意跳转

    Java实现日期随意跳转 项目开发过程中.须要进行订单提醒日期的设置.主要包含设置每月指定的日期或者指定的天数,代码例如以下: public static String DateOperation(S ...

  2. Linux下VLAN功能的实现 (转)

    1.Linux网络栈下两层实现 1.1简介     VLAN是网络栈的一个附加功能,且位于下两层.首先来学习Linux中网络栈下两层的实现,再去看如何把VLAN这个功能附加上去.下两层涉及到具体的硬件 ...

  3. [PHP]PDO调用存储过程

    1. 数据库中已创建存储过程user_logon_check, PHP调用示例如下, <?php $dsn = 'mssql:dbname=MyDbName;host=localhost'; $ ...

  4. C++ 模板应用浅析

    把曾经写的C++模板的应用心得发表出来. 回忆起当时在学习C++模板时的无助和恐惧,如今还心有余悸.我分享出来我的心得,仅仅希望别人少走弯路,事实上它就这么几种使用方法,不须要害怕. 我总结了模板的四 ...

  5. 项目Beta冲刺(团队7/7)

    项目Beta冲刺(团队7/7) 团队名称: 云打印 作业要求: 项目Beta冲刺(团队) 作业目标: 完成项目Beta版本 团队队员 队员学号 队员姓名 个人博客地址 备注 221600412 陈宇 ...

  6. VS2005断点失效的问题

    VS2005下使用VC,部分断点无效,显示『当前不会命中断点.还没有为该文档加载任何符号』. 试过以下一些方法: 1.无效断点所在的项目和启动项目的设置:项目->属性->配置属性-> ...

  7. adb常用命令整理

    adb connect <IPAddress:Port>  //通过指定的IP地址及端口连接设备 adb devices  //显示所有已连接的设备 adb install <Pac ...

  8. char* strcpy( char* dest, const char* src ), int binary_search(int *arr, int key, int n), 可能的实现

    #include <stdio.h> char* stringCopy( char* dest, const char* src ) { size_t i = 0; while (dest ...

  9. Visio 2010 绘制流程图布局技巧

    设置多个元件大小一致:https://zhidao.baidu.com/question/176608306.html 设置多个元件的对齐方式,水平等距.垂直等距等:http://jingyan.ba ...

  10. js遍历map

    //火狐控制台打印输出: Object { fileNumber="文件编号", fileName="文件名称"} console.log(map); for( ...