【入门级】Docker基础介绍(一)
Docker发展
Docker目前有两个版本:
1.Docker EE:企业版
2.Docker CE:社区版
Open Container Initiative倡议,包含两个规范,
1.运行时规范:runtime-spec
2.镜像规范:image-spec
容纳容器镜像的站点:
https://hub.docker.com/
Docker架构
Docker是C/S架构,通过https协议通信。daemon可以监听在套接字之上,默认只提供unix sock文件套接字,为了安全起见。它支持ipv4,ipv6,unix sock套接字三种用户接入方式。
Docker host两个重要组件:
1.container:容器
2.image:镜像
镜像来自于registry镜像仓库,默认为docker hub镜像仓库。可下载到本地后共享给上层使用。启动容器是基于镜像而启动,为镜像创建专用的可写层。
Image存储在host本地或者公共存储中,通过http/https加载到本地才能被使用,默认使用的方式为https。
由于docker hub在ufw之外,国内为了实现加速访问,维护了docker.cn或者可从阿里云、中国科技大的镜像加速。用户也可以创建自己的私有仓库。
仓库:registry
它是一个可提供镜像存储的仓库,可提供用户获取镜像的认证,并为当前可用镜像作搜索索引。
一个仓库有自己专属的名称,一般一个仓库仅存放一个应用的镜像,也就是存放同一类应用的不同版本。仓库名就是应用程序名,比如nginx。不同镜像通过添加标签的方式,来相互区分。因此,仓库名+标签才能唯一标识一个镜像。如果只给镜像名而没有标签,则默认访问最新版本的镜像,比如 nginx:stable nginx:latest。
镜像(静态的)和容器(动态的,存在生命周期)的关系,就是程序和进程的关系。restful 风格的对象,支持增删查改。使用标准的http协议的方法get,post,put等等。
1.image
2.container
3.networks
4.volumes:存储容器的,一般是外部网络存储
5.plugins
Docker安装及使用
依赖基础环境:
1.64 bits CPU
2.Linux Kernel 3.10 +
3.Linux Kernel cgroups andnamespaces
4.CentOS7 “Extras” repository
5.Docker Daemon systemctl startdocker.service
添加仓库:
1.编辑daemon.json,添加mirrors
2.Systemctl restart docker
3.Docker version
4.Docker info
原始的命令用法
1.搜索镜像:docker search nginx
2.第一种表示顶级仓库,也就是docker hub官方;第二种表示jwilder账号建立的仓库
3.Alpine:体积非常小,提供基础的应用环境,可安装在不同的发行版中。测试的时候可以安装此版本,不过缺少调试工具。
最好自己编制镜像,上传到docker hub或者建立私有registry
4.下载镜像:
5.删除镜像:
6.启动容器:
7.显示网络
安装docker后,会默认创建docker 桥172.17.0.1.容器会自动nat到桥上以对外通信。默认会接入到bridge中。
8.启动busybox容器
9.Pid为1是用户空间的总进程,如果退出sh,则容器消失。
10.查看容器的信息:docker inspect b1
11.与容器通信,类似虚拟机之间的通信
12.退出容器exit
处于停止状态的容器
13.终止容器:docker kill b1
14.删除容器:docker rm b1
15.在容器外指定命令:docker exec –it kvstor1 /bin/sh
最新文章
- mysql命令行导入sql脚本中文变问号问题
- 应用服务器Glassfish任意文件读取漏洞
- numpy.distutils.system_info.NotFoundError: no lapack/blas resources found
- 云计算之路-阿里云上:2014年6月12日12点IIS请求到达量突降
- Failed to allocate memory: 8
- iOS在xib或storyboard里为控件添加圆角、外框和外框颜色
- Java 使用Dom4j和JFileChooser实现xml文件的自主选择路径导出
- 我的Python成长之路---第五天---Python基础(17)---2016年1月30日(晴)
- Hibernate持久化对象状态
- VMware 虚拟机(linux)增加根目录磁盘空间
- [ABP]浅谈工作单元 在整个 ABP 框架当中的应用
- lambda+mutable配合move实现单函数多程序域
- 小程序 web-view 嵌套的网页跳转到小程序内部页面 实现无缝连接
- HBase读写数据的详细流程及ROOT表/META表介绍
- 从输入 URL 到页面加载完成的过程详解---【XUEBIG】
- Spring Boot 2 (四):使用 Docker 部署 Spring Boot
- Scala学习(二)--- 控制结构和函数
- 在centos服务器上启用ipv6地址
- springMVC访问 WEB-INF 下的 jsp 和 html
- WP10的一点小问题
热门文章
- electron初探问题总结
- threejs 限制物件只能在指定平面上拖拽
- 【10分钟学Spring】:(二)一文搞懂spring依赖注入(DI)
- C# 程序一个cmd命令窗口执行多条dos命令
- [转]为何选择 Flink
- C lang: VLA(variable-length array)
- iOS字符串处理_替换(去掉空格换行)、截取
- DSP编程与调试总结
- dependencyManagement
- October 06th, 2019. Week 41st, Sunday