【入门级】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
【入门级】Docker基础介绍(一)的更多相关文章
- Docker基础入门及示例
Docker近几年的发展可谓一日千里,特别从是2013年随着一个基于LXC的高级容器引擎开源,到现在,其在linux和windows上都有了很好的支持,并且已经有很多公司将docker用于实际的生产环 ...
- Docker基础入门
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...
- Docker 基础概念科普 和 常用操作介绍
Docker 基础概念 Docker是什么? Docker的思想来自于集装箱,集装箱解决了:在一艘大船上,可以把货物规整的摆放起来.并且各种各样的货物被集装箱标准化了,集装箱和集装箱之 ...
- Docker基础技术:Linux Namespace(下)
在 Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD.IPC.PID.Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像.在这一篇中,主 ...
- Docker 基础技术:Linux Namespace(下)
导读 在Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD.IPC.PID.Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像.在这一篇中 ...
- Docker 基础 : 镜像
目录 获取镜像 查看镜像信息 搜索镜像 删除镜像 创建镜像 导出和导入镜像 上传镜像 总结 镜像是 Docker 的三大核心概念之一.Docker 运行容器前需要本地存在对应的镜像,如果本地没有对应的 ...
- Docker系列03—Docker 基础入门
本文收录在容器技术学习系列文章总目录 1.概念介绍 1.1 容器 1.1.1 介绍 容纳其它物品的工具,可以部分或完全封闭,被用于容纳.储存.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. ...
- docker基础内容讲解
一.初识docker 1.1 LXC介绍 LXC为LinuX Container的简写.Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提 ...
- 1. Docker基础命令
本文简要介绍Docker的基础命令,目的在于快速入门Dokcer,Docker的完整命令可以参考Docker官方手册. 0. 安装Docker Docker当前分为企业版(Docker Enterpr ...
随机推荐
- RHEL/CentOS 安装最新版Nginx
本篇简单介绍如何在RHEL/CentOS安装最新版本的Nginx. Step 1:安装yum-utils [root@localhost ~]# cat /etc/redhat-release Cen ...
- 简单了解css3轮廓outline
outline属性是用来设置一个或多个单独的轮廓属性的简写属性 , 例如 . 轮廓有下面几个属性: { outline-style: solid; outline-width: 10px; outli ...
- 关于vue里的$refs属性
vuejs的极大程度的帮助减少了对dom的操作,他主要通过添加ref属性,但是当获取this.$refs属性时,稍有不注意就会输出undefined导致我们对dom节点的操作报错. this.$ref ...
- SQL实用技巧:如何分割字符串
create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20)) as beg ...
- Dijkstra.NET 库体验报告
在VS里用Nuget下载"Dijkstra.NET"库,然后就可以在需要的地方使用了. 首先,这是一个简单的graph,5个节点,7条边. 上代码 移动端看不清楚的可以看下面的: ...
- 《Python3 网络爬虫开发实战》学习资料
<Python3 网络爬虫开发实战> 学习资料 百度网盘:https://pan.baidu.com/s/1PisddjC9e60TXlCFMgVjrQ
- 数据库表数据统计及数据表的数据大小统计SQL
USE [YourDBName] -- replace your dbname GO SELECT s.Name AS SchemaName, t.Name AS TableName, p.rows ...
- Troubleshooting: High Version Count Issues
--查询版本高的原因 select * from v$sql_shared_cursor where sql_id=''; Configuring Download the script in the ...
- 集合 set方法
集合 number = {1, 2, 4} # 添加元素到集合 number.add(100) print(number) # 从集合中删除 number.remove(2) print(number ...
- Linux基础命令---ntpstat显示时间服务器同步
ntpstat ntpstat指令用于显示本机上一次和服务器同步时间的情况. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora. 1.语法 ntpstat 2 ...