【入门级】Docker基础介绍(一)

本文介绍Docker的两个版本及其架构,包括容器、镜像和仓库的概念。阐述Docker的安装、使用方法,以及如何搜索、下载、启动和管理镜像与容器。解析Docker的网络配置和私有仓库的创建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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

更多精彩推荐:

HDFS数据存储与读写过程

人生苦短我用python: eval,exec,compile的使用

使用ctypes调用c语言接口+使用virtualenv隔离python环境

【Python课堂】list分片与推导 +map()&reduce()

这些有趣又好用的python库,值得一玩

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值