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. React Native安装

    1.安装 1.1 安装Node.js 下载安装即可 1.2 安装Homebrew 终端中执行: $ /usr/bin/ruby -e "$(curl -fsSL https://raw.gi ...

  2. 【读书笔记】iOS-GCD-用法

    代码: -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { dispatch_async(dispatch_get_gl ...

  3. angularjs开发常见问题-2(angularjs内置过滤器)

    在angular中内置了几个经常使用的filter,能够简化我们的操作. 过滤器使用 '|' 符号,概念有点相似于linux中的管道. 1.filter (过滤) filter能够依据条件过滤数据.样 ...

  4. sanic官方文档解析之logging和request Data

    1,sanic的logging: Sanic允许有做不同类型的日志(通过的日志,错误的日志),在基于Python3的日志API接口请求,你必须具备基本的Python3的日志知识,在你如果想创建一个新的 ...

  5. BusyBox下ftpget的使用方法

    在终端输入ftpget命令,可以得到以下帮助信息: BusyBox v1.17.4 (2010-12-22 10:59:18 CST) multi-call binary. Usage: ftpget ...

  6. 百度dureos CMake Error

    CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, ...

  7. 51Nod 1089 最长回文子串 V2 —— Manacher算法

    题目链接:https://vjudge.net/problem/51Nod-1089 1089 最长回文子串 V2(Manacher算法) 基准时间限制:1 秒 空间限制:131072 KB 分值:  ...

  8. VC++配置OpenGL开发环境

    目录 第1章配置    1 第2章核心文件    6 2.1 核心文件    6 2.2 编译时使用核心文件    6 2.3 运行时使用核心文件    7 2.4 依赖关系    7 第3章 AUX ...

  9. HihoCoder1706 : 末尾有最多0的乘积(还不错的DP)

    描述 给定N个正整数A1, A2, ... AN. 小Hi希望你能从中选出M个整数,使得它们的乘积末尾有最多的0. 输入 第一行包含两个个整数N和M. 第二行包含N个整数A1, A2, ... AN. ...

  10. Xcode6.3真机测试无法选择目标机器问题

    Xcode刚刚升级到了6.3版本,但是真机测试出现了一点问题.对于某些手机无法选中,如下: 上图中的“xxoo的iPhone”无法选中,不过这个问题在stackoverflow中有解答,可以通过其他手 ...