Docker - 入门基础

news2024/11/15 11:45:10

原文地址,使用效果更佳!

Docker - 入门基础 | CoderMast编程桅杆icon-default.png?t=N7T8https://www.codermast.com/dev-tools/docker/docker-basic.html

Docker架构

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

Docker 客户端与 Docker 守护进程,负责构建、运行和 分发 Docker 容器。Docker 客户端和守护程序可以 在同一系统上运行,或者您可以将 Docker 客户端连接到远程 Docker 守护进程。Docker 客户端和守护程序使用 REST API 通过 UNIX 进行通信 套接字或网络接口。另一个 Docker 客户端是 Docker Compose, 这样,您就可以使用由一组容器组成的应用程序。

  • Docker客户端:可以是基于命令行的 Docker 客户端,也可以是基于图形化界面的 Docker 应用。

  • Docker服务端:一个运行 Docker 服务的机器,可以是本地主机,也可以是远程的服务器。

  • Docker守护进程:Docker 守护程序 () 侦听 Docker API 请求并管理 Docker 对象,例如映像、容器、网络和卷。守护进程也可以 与其他守护进程通信以管理 Docker 服务。

  • Docker桌面:是指在 Windows、Mac、Linux环境中易于安装,可视化构建和共享容器的应用程序。

Docker 的架构和 Redis 的几乎相同。

Docker镜像加速

Docker 安装好之后,在使用时我们需要拉取 Docker 镜像,这些 Docker 镜像存储在国外的 DockerHub 中,在国内访问不稳定,故此 Docker 官方和国内许多服务商提供了国内的加速器服务。

  • Docker官方:https://registry.docker-cn.comopen in new window
  • 阿里云:https://help.aliyun.com/document_detail/60750.htmlopen in new window
  • 网易:http://hub-mirror.c.163.comopen in new window
  • USTC:https://docker.mirrors.ustc.edu.cnopen in new window
  • 七牛云:https://reg-mirror.qiniu.comopen in new window

这里以 Docker 官方提供的国内加速服务为样例,进行配置教程,其他服务商的配置同理。

  • 命令行配置

对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

之后重新启动服务

sudo systemctl daemon-reload
sudo systemctl restart docker
  • 可视化界面配置

在设置中的 Docker Engine 内,插入如下配置即可。

"registry-mirrors":[
        "https://registry.docker-cn.com"
]

插入,保存后,需要重启才能够生效。

  • 检查镜像是否生效
docker info 

Registry Mirrors:
    https://registry.docker-cn.com/

只要出现如上的镜像链接,就是已经配置成功了。

样例剖析

提示

对上一节中的 centos 实例进行分析

Docker 允许在容器内运行应用程序,使用 docker run 命令来在容器内运行一个应用程序。这里同样是个Hello World,不同在于它是在容器内部运行的。

docker run centos:latest /bin/echo "Hello World"

我们看下各个参数的含义:

  • docker: Docker 的二进制执行文件。
  • run: 与前面的 docker 组合来运行一个容器。
  • centos:latest:指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
  • /bin/echo "Hello world": 在启动的容器里执行的命令以上命令。

完整的意思可以解释为:Docker 以 centos 最新的(默认是latest) 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1611636.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

滚动条详解:跨平台iOS、Android、小程序滚动条隐藏及自定义样式综合指南

滚动条是用户界面中的图形化组件,用于指示和控制内容区域的可滚动范围。当元素内容超出其视窗边界时,滚动条提供可视化线索,并允许用户通过鼠标滚轮、触屏滑动或直接拖动滑块来浏览未显示部分,实现内容的上下或左右滚动。它在保持…

NASA数据集——TANSO-FTS 运行前 11 年收集的测量数据中得出二氧化碳(CO2)干空气摩尔分数(XCO2)的估计值

ACOS GOSAT/TANSO-FTS Level 2 bias-corrected XCO2 and other select fields from the full-physics retrieval aggregated as daily files V7.3 (ACOS_L2_Lite_FP) at GES DISC 简介 ACOS Lite 文件包含经过偏差校正的 XCO2 以及其他选定字段的每日汇总文件。ACOS 2 级标准…

Unity ECS

一:前言 ECS与OOP不同,ECS是组合编程,而OOP的理念是继承 E表示Entity,每个Entity都是一个有唯一id的实体。C表示Component,内部只有属性,例如位置、速度、生命值等。S表示System,驱动实体的行为…

js 函数节流和函数防抖及区别详解

文章目录 1. 前言2. 函数节流3. 函数防抖4. 总结 1. 前言 浏览器中总是有一些操作非常耗费性能。所以就有了函数节流和函数防抖来提高浏览器性能。 函数节流:频繁触发一个事件时候,每隔一段时间,函数只会执行一次。 函数防抖:当触…

js 遍历数据结构,使不符合条件的全部删除

js 遍历数据结构,使不符合条件的全部删除 let newSourceJSON.parse(JSON.stringify(state.treeData))state.expandedKeys[]checkedKeys.map((item:any)>{loop(newSource,{jsonPath:item.split(&)[1]},state.expandedKeys)})function removeUnwantedNodes(tre…

react 项目路由配置(react-router-dom 版本 v6.3、v6.4)

根据 react-router-dom 的版本,有不同的方式 一、react-router-dom v6.3 用到的主要 api: BrowserRouteruseRoutesOutlet 下面是详细步骤: 1、index.js BrowserRouter 用来实现 单页的客户端路由使用 BrowserRouter 包裹 App放在 顶级 位置&#x…

香港服务器_免备案服务器有哪些正规的?企业、建站方向

香港服务器,是最受欢迎的外贸、企业建站服务器,在个人建站领域,香港服务器、香港虚拟主机都是首选的网站服务器托管方案,不仅其具备免备案的特点,而且国内外地区访问速度都很快。那么,现今2024年个人和企业…

使用Cesium ion将 Sketchfab 3D 模型添加到您的GIS应用中

您现在可以将 Sketchfab 中的 3D 模型导入 Cesium ion 中以创建 3D 块,从而更轻松地为地理空间体验创建上下文和内容。 Sketchfab 是 Epic Games 的一部分,也是使用最广泛的 3D 资产市场之一。自 2012 年推出以来,已有超过 1000 万用户使用 …

《设计模式之美》- 总结

《设计模式之美》- 总结 第一章 概述 1.1 为什么学习代码设计 编写高质量的代码应对复杂代码的开发程序员的基本功职业发展的必备技能 1.2 如何评价代码的质量 1.2.1 可维护性 可维护性代码的特性:代码简洁、可读性好、可扩展性好代码分层结构清晰、模块化程度…

Spring Boot + Thymeleaf 实现的任务发布网站

角色: 管理员雇主雇员 功能 雇主:登录、注册、发布任务、选择中标雇员、评价雇员雇员:登录、注册、查看任务列表、投标任务、收藏任务、完成任务管理员、登录、任务管理、雇主管理、雇员管理 部分功能截图 部署 导入数据库…

【剪映专业版】13快速为视频配好音:清晰、无噪声、对齐

视频课程:B站有知公开课【剪映电脑版教程】 使用场景:视频无声音或者视频有声音但是需要更改声音 时间指示器在哪里,就从哪里开始 红色按钮:开始录音 声音波纹:蓝色最佳,黄色或红色声音太大,…

【Django】学习笔记

文章目录 [toc]MVC与MTVMVC设计模式MTV设计模式 Django下载Django工程创建与运行创建工程运行工程 子应用创建与注册安装创建子应用注册安装子应用 数据模型ORM框架模型迁移 Admin站点修改语言和时区设置管理员账号密码模型注册显示对象名称模型显示中文App显示中文 视图函数与…

CCIE-16-PIM

目录 实验条件网络拓朴实验环境实验目的 开始实验实验1:PIM-DM配置PIM域中的路由,开启PIM-DM组播路由功能,验证组播情况 实验2:PIM-SM(静态RP)配置PIM域中的路由,开启PIM-SM组播路由功能&#x…

IntelliJ IDEA运行发布传统Java Web Application项目

接 重温8年前项目部署 要求,如何改用IntelliJ IDEA运行发布传统 Java Web Application项目呢,简述步骤如下: 一、下载源码 源码:https://github.com/wysheng/kindergarten 下载后的本地项目路径:/Users/songjianyon…

美容预约小程序:简单三步,开启高效预约模式

在当今的数字化时代,一个小程序可以极大地提高美容院的效率和客户满意度。下面我们将详细说明如何通过以下步骤来搭建一个美容院预约小程序。 首先,你需要注册并登录到乔拓云网,这是 一个在线平台,可以帮助你快速创建并管理你的小…

SpringBoot集成FTP

1.加入核心依赖 <dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.8.0</version></dependency> 完整依赖 <dependencies><dependency><groupId>org.springfra…

(四)SQL面试题(连续登录、近N日留存)学习简要笔记 #CDA学习打卡

目录 一. 连续登录N天的用户数量 1&#xff09;举例题目 2&#xff09;分析思路 3&#xff09;解题步骤 &#xff08;a&#xff09;Step1&#xff1a;选择12月的记录&#xff0c;并根据用户ID和登录日期先去重 &#xff08;b&#xff09;Step2&#xff1a;创建辅助列a_rk…

maven问题汇总

​ 1、报错 failed to transfer from http://0.0.0.0/ during a previous attempt. com.byd.xxx:xxx-parent:pom:1.1.0-SNAPSHOT failed to transfer from http://0.0.0.0/ during a previous attempt. This failure was cached in the local repository and resolution is no…

K8S哲学 - Pod、RC、RS、deployment

pod&#xff08;最小的可部署单元&#xff09; 容器组&#xff08;运行一个或多个容器&#xff09; Pod(容器组&#xff09;是Kubernetes 中最小的可部署单元。 一个Pod(容器组&#xff09;包含了一个应用程序容器&#xff08;某些情况下是多个容器&#xff09;、存储资源、 一…

C++三大特性之一:继承

文章目录 前言一、继承方式二、继承类型继承中构造和析构的顺序继承中的内存分配多继承语法(非重点)继承中同名静态成员的处理继承一般在哪里用到进阶&#xff1a;菱形继承和虚拟继承 总结 前言 C三大特性&#xff1a;继承、多态和封装。继承是面向对象编程的一个核心概念&…