Docker知识点总结二

四、 Docker 架构

Docker使用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Docker容器。

介绍:

  • 1、Docker的客户端client,我们在命令行发送一些信息(命令)给Docker服务端。
  • 2、中间这个就是Docker的服务端,在这个服务端里面,它是一个引擎,用来管理容器的,所以用引擎我们可以基于镜像来创建容器。
  • 3、右边就是仓库,中心仓库就是Docker hub仓库,存放了成千上万的镜像。
  • 4、Docker容器通过Docker镜像来创建。
  • 有人会误以为,Docker就是容器,但Docker不是容器,而是管理容器的引擎。
容器的基本概念

容器是从镜像创建的运行实例。它可以被启动、停止、删除。每个容器都是相互隔离的、保证安全平台。可以把看做一个简易版的 Linux环境,包括root用户权限、进程空间、用户空间和网络空间和运行在其中的应用程序。

Docker利用容器来运行应用,镜像是只读的,容器在启动的时候创建一层可写层作为最上层。

仓库的概念:

仓库是集中存放镜像文件的场所,有时候会把仓库和仓库注册服务器(Registry)看做同一事物,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag) ,tag你可以粗略理解为版本;

仓库分为公开仓库(Public)和私有仓库(Private)两种形式;最大的公开仓库是 Docker Hub(https://hub.docker.com/) ,存放了数量庞大的镜像供用户下载; 当然,用户也可以在本地网络内创建一个私有仓库;

当用户创建了自己的镜像之后就可以使用push命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull下来即可;

注:Docker仓库的概念跟Git类似,注册服务器也类似于GitHub这样的托管服务;

用户可通过docker search命令来查找官方仓库中的镜像: 例如 docker search tomcat,并利用docker pull命令来将它下载到本地:

可以看到返回了很多包含关键字的镜像,其中包括镜像名字、描述、星级(表示该镜像的受欢迎程度)、是否官方创建、是否自动创建;官方的镜像说明是官方项目组创建和维护的,automated资源允许用户验证镜像的来源和内容;

根据是否是官方提供,可将镜像资源分为两类:

一种是类似centos这样的基础镜像,被称为基础或根镜像。这些基础镜像是由Docker公司创建、验证、支持、提供。这样的镜像往往使用单个单词作为名字;

还有一种类型,比如tianon/centos镜像,它是由Docker的用户创建并维护的,往往带有用户名称前缀。可以通过前缀user_name/来指定使用某个用户提供的镜像,比如tianon用户;

从Docker 仓库下载镜像到本地,镜像名称格式为 名称号:版本号,如果版本号不指定则是最新的版本。如果不知道镜像版本,可以去docker hub 搜索对应镜像查看。如果你反复执行pull,它会把这个镜像下载到最新版本。

docker pull 镜像名称 例如:docker pull tomcat

五、Docker使用示例

5.1、Docker安装MySQL

docker pull mysql (你也可以加上版本号,指定版本)

接下来我们运行mysql镜像并且访问容器:

docker run -d -p 3306:3306 mysql -e MYSQL_DATABASE = workdb -e MYSQL_ROOT_PASSWORD = 123456

到时候容器启动之后,你去访问mysql的时候,会有一个数据库的名字叫做workdb,密码123456

5.2、Docker安装nginx

下载Nginx镜像:

docker pull nginx

docker run -d -p 80:80 nginx

docker exec -it 容器id bash (用docker ps 查看容器id)

​​​​​​​

访问nginx: http://123.57.144.31:80

相关推荐
冯小鸟的探戈几秒前
电脑重生之安装xp系统
运维·服务器·电脑
分布式存储与RustFS9 分钟前
Longhorn 的卷备份别堆本地盘:用 RustFS 给它当 S3 备份目标
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
全栈陈序员2 小时前
【Git】从入门到精通(十)—— 撤销与恢复:git checkout与git restore
运维·网络·数据库·git
vibecode11 小时前
网站服务器失去响应怎么解决?我把连接超时和读超时这两段计时拆开跑了一遍
运维·服务器
工业一体机老司机12 小时前
Docker部署工控机采集服务 Compose编排与开机自启
运维·docker·容器
迪康Defender12 小时前
终端供应链安全:应用白名单与软件正版化检测落地|终端安全治理实践
运维·服务器·网络·安全·web安全·自动化·运维开发
万联WANFLOW15 小时前
异地厂区视频监控远程运维:从组网到安全的实施要点
运维·网络·安全·企业组网·sdwan
十碗饭吃不饱16 小时前
SSH 密钥认证详解:原理、实操、参数、排错与加固
运维·ssh
echoarts16 小时前
服务器连不上?FileZilla 改被动模式就好了
运维·服务器·其他
无言听风雨丶16 小时前
Redis 运维实战与排错
运维·数据库·redis