首页 > 其他分享 >核心概念与安装配置

核心概念与安装配置

时间:2024-02-23 10:11:08浏览次数:27  
标签:核心 配置 版本 镜像 Docker 安装 docker 页面

核心概念与安装配置

本章首先介绍Docker的三大核心概念:
口镜像(Image)
口容器(Container)
口仓库(Reposit。可)
只有理解了这三个核心概念,才能顺利地理解Docker容器的整个生命周期。
随后,笔者将介绍如何在常见的操作系统平台上安装Docker,包括Ubun阳、 CentOS、
MacOS和Windows等主流操作系统。

核心概念
Docker大部分的操作都围绕着它的三大核心概念: 镜像、容器和仓库。因此,准确把握
这三大核心概念对于掌握Docker技术尤为重要。

  1. Docker镜像
    Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。
    例如,一个镜像可以包含一个基本的操作系统环境,里面仅安装了Apache应用程序(或
    用户需要的其他软件)。可以把它称为一个Apache镜像。
    镜像是创建Docker容器的基础。
    通过版本管理和增量的文件系统, Docker提供了一套十分简单的机制来创建和更新现有
    的镜像,用户甚至可以从网上下载一个已经做好的应用镜像,并直接使用。

第 2 章核心概念与安装配置

  1. Docker容器
    Docker容器类似于一个轻量级的沙箱, Docker利用容器来运行和隔离应用。
    容器是从镜像创建的应用运行实例。 它可以启动、开始、停止、 删除,而这些容器都是
    彼此相互隔离、互不可见的。
    可以把容器看作一个简易版的Linux系统环境(包括root用户权限、进程空间、用户空
    间和网络空间等)以及运行在其中的应用程序打包而成的盒子。

@主镜像自身是只读的。 容器从镜像启动的时候,会在镜像的最上层创建一个可写层。

  1. Docker仓库
    Docker仓库类似于代码仓库,是Docker集中存放镜像文件的场所。
    有时候我们会将Docker仓库和仓库注册服务器(Regis町)混为一谈,并不严格区分。 实
    际上,仓库注册服务器是存放仓库的地方,其上往往
    存放着多个仓库。每个仓库集中存放某一类镜像,往
    往包括多个镜像文件,通过不同的标签(tag)来进行
    区分。 例如存放Ubuntu操作系统镜像的仓库,被称 || Ubuntu仓库 I I CentOS仓库
    为Ubuntu仓库,其中可能包括16.04、 18. 04 等不同
    版本的镜像。仓库注册服务器的示例如图二l所示。
    根据所存储的镜像公开分享与否, Docker仓库
    可以分为公开仓库(Public)和私有仓库(Private)两种形式。

注册服务椿
图2-1 注册服务器与仓库

目前,最大的公开仓库是官方提供的DockerHub,其中存放着数量庞大的镜像供用户下
载。 国内不少云服务提供商(如腾讯云、 阿里云等)也提供了仓库的本地源,可以提供稳定
的国内访问。
当然,用户如果不希望公开分享自己的镜像文件, Docker也支持用户在本地网络内创建
一个只能自己访问的私有仓库。
当用户创建了自己的镜像之后就可以使用push命令将它上传到指定的公有或者私有仓
库。 这样用户下次在另外一台机器上使用该镜像时,只需要将其从仓库上pull下来就可以了。

♂h洼 可以看出, Docker利用仓库管理镜像的设计理念与Git代码仓库的概念非常相似,实

  • 际上Docker设计上借鉴了Git的很多优秀思想。

2.2 安装Docker引擎
Docker引擎是使用Docker容器的核心组件,可以在主流的操作系统和云平台上使用,
包括Linux操作系统(如Ubuntu、Debian,CentOS、Red.hat等),macOS和Windows操作系统,
以及IBM、亚马逊、微软等知名云平台。

12 第一部份基础入门

用户可以访问Docker官网的GetDocker ( https://www.docker.com/get-docker)页面,查
看获取Docker的方式,以及Docker支持的平台类型,如图2-2所示。

Get starred with Docker, the world's leading software container platform lo modernize applications without disruption. Docker is available as Community Edition (CE) and
Enterprise Edition (EE), with opυmJZed Installers for a varie叩ofinfrastructure. The Docker platform and associated toolchair、providesthe following features as a baseline for
both CE and EE
图2-2 获取Docker
目前Docker支持Docker引擎、 DockerHub、 DockerCloud等多种服务。
D Docker引擎:包括支持在桌面系统或云平台安装Docker,以及为企业提供简单安全
弹性的容器集群编排和管理;
口DockerHub:官方提供的云托管服务,可以提供公有或私有的镜像仓库;
口DockerCloud:官方提供的容器云服务,可以完成容器的部署与管理,可以完整地支
持容器化项目,还有CI、 CD功能。
Docker引擎目前分为两个版本:社区版本(Community Edition, CE)和企业版本
(Enterprise Edition, EE)。 社区版本包括大部分的核心功能,企业版本则通过付费形式提供
认证支持、镜像管理、 容器托管、 安全扫描等高级服务。 通常情况下,用户使用社区版本可
以满足大部分需求;若有更苛刻的需求,可以购买企业版本服务。 社区版本每个月会发布一
次尝鲜(Edge)版本,每个季度( 3 、 6 、 9 、 12 月)会发行一次稳定(Stable)版本。 版本号
命名格式为“年份.月份”,如 2018 年 6 月发布的版本号为vl8.06。
笔者推荐首选在Linux环境中使用Docker社区稳定版本,以获取最佳的原生支持体验。
本书如无特殊说明,则以社区版本的稳定版为例进行说明。

2.2.1 Ubuntu环境下安装Doeke「

1.系统要求
Ubuntu操作系统对Docker的支持十分成熟,可以支持包括x86_64、 arm町、 s390x(IBM
Z)、 ppc64le等系统架构,只要是 64 位即可。

第2 章核心概念与安装配置 令13

Docker目前支持的最低Ubuntu版本为 14.04LTS,但实际上从稳定性上考虑,推荐使用
1 6. 04 LTS或18 .0.4LTS版本,并且系统内核越新越好,以支持Docker最新的特性。
用户可以通过如下命令检查自己的内核版本详细信息:
$ uname -a
Linux localhost 4 9 36-x86 64-generic
或者:
$ cat /proc/version
Linux version 4.9.36-x86_64-gener工c ([email protected]) (gee version 4. 9. 2 (Debian
4.92 10))
如果使用Ubuntu 1 6.04 LTS版本,为了让Docker使用aufs存储,推荐安装如下两个
软件包:
$ sudo apt-get update
$ sudo apt-get install -y
linux-image-extra $(uname -r)
linux image-extra-virtual

t"A主 Ubuntu发行版中, LTS( Long-Term-Support)意味着更稳定的功能和更长期(目前为
-- 5 年)的升级支持,生产环境中推荐尽量使用LTS版本。

2 .添加镜像源
首先需要安装apt-transport-https等软件包支持https协议的源:
$ sudo apt-get update
$ sudo apt-get 工nstall
apt-transport https
ca-certificates
curl
software-properties-common
添加源的gpg密钥:
$ curl -fsSL https://download.docker.com/l工nux/ubuntu/gpg I sudo apt key add -
OK
确认导人指纹为“ 9 DC8 5822 9FC7 DD38854 A E2D8 8D8 I 803C OEBF CD饵”的GPG
公钥:

$ sudo apt-key fingerprint OEBFCDBB
pub 4096R/OEBFCD88 2017-02-
Key fingerpr工nt ; 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C OEBF CDBB
uid Docker Release (CE deb) <docker@docker. com>
sub 4096R/F273FCD82017 02-
获取当前操作系统的代号:
$ lsb release -cs
xenial

14 令 第一部分基础入门

一般情况下, Ubuntu16.04 LTS代号为xenial, Ubuntu 18 .04 LTS代号为bionic。
接下来通过如下命令添加Docker稳定版的官方软件源,非xenial版本的系统注意修改
为自己对应的代号:

丰 sudoadd-apt-repository
"deb [arch~amd64) https://download.docker.com/linux/ubuntu
xenial
stable ”
添加成功后,再次更新apt软件包缓存:
$ s udo apt-get update
3.开始安装Docker
在成功添加源之后,就可以安装最新版本的Docker了,软件包名称为docker-ce,代表
是社区版本:

$ s udo apt-get install -y docker-ce
如果系统中存在较旧版本的Docker,会提示是否先删除,选择是即可。
除了基于手动添加软件源的方式之外,也可以使用官方提供的脚本来自动化安装Docker:
$ sudo curl -sSL https://get.docker.com/ I sh
安装成功后,会自动启动Dock巳r服务。
用户也可以指定安装软件源中其他版本的Docker:
$ sudo apt-cache madison docker-ce
docker-ce I 17. 11. o~ce-0-ubuntu I https: I /download. docker. com/linux/ubuntu
xen工al/edge amd64 Packages
docker-ce I 17.10.0-ce-O~ubuntu I https: //download. docker. com/linux/ubuntu
xen工al /edgeamd64 Packages
docker-ce I 17.09.l句ce-0~ubuntu I https: I /download. docker. com/linux/ubuntu
xen工al/stableamd64 Packages
$ sudo apt-get install docker-ce=l7.ll.O句ce-0-ubuntu

2.2.2 CentOS环境下安装Docker
Docker目前支持CentOS 7 及以后的版本。 系统的要求跟Ubuntu情况类似, 64 位操作
系统,内核版本至少为3.10。
首先,为了方便添加软件源,以及支持devicemapper存储类型,安装如下软件包:
$ s udo yum update
$ sudo yum instal l -y yum-utils
device-mapper-persistent-data
lvm
添加Docker稳定版本的yum软件源:
$ sudo yum-conf ig-manager \

第 2 章核心概念与安装配置 令 15

add-repo
https://download.docker.corn/linux/centos/docker-ce.repo
之后更新yum软件源缓存,并安装Docker:
$ sudo yum update
$ sudo yum install -y docker-ce
最后,确认Docker服务启动正常:
$ sudo systernctl start docker

2.2.3 通过脚本安装
用户还可以使用官方提供的shell脚本来在Linux系统(目前支持山untu、 Debian、
Oracleserv町、 Fedora、 Centos、 OpenSuse、 Gentoo等常见发行版)上安装Docker的最新正式
版本,该脚本会自动检测系统信息并进行相应配置:
$ curl -fsSL https://get.docker. corn/ I sh
或者:
$ wget -qO- https://get.docker.corn/ I sh
如果想尝鲜最新功能,可以使用下面的脚本来安装最新的“尝鲜”版本。 但要注意,非
稳定版本往往意味着功能还不够稳定,不要在生产环境中使用:
$ curl -fsSL https

标签:核心,配置,版本,镜像,Docker,安装,docker,页面
From: https://www.cnblogs.com/salixleaf/p/17391565.html

相关文章

  • 如何自定义配置
    IConfigurationSource  build()方法IConfigurationProvider1usingCSRedis;2usingMicrosoft.Extensions.Configuration;3usingMicrosoft.Extensions.Primitives;4usingSystem;5usingSystem.Collections.Generic;6usingSystem.Text;78namespac......
  • 在k8S中,多个Pod如何实现使用同一个配置文件?
    在Kubernetes(k8S)中,多个Pod如需使用同一个配置文件,可以采用以下几种方法:ConfigMap创建一个ConfigMap,将共享的配置文件内容作为键值对存储。然后,在每个需要使用该配置文件的Pod的定义中,通过卷(Volume)和卷挂载(VolumeMounts)将ConfigMap挂载到容器内部的一个特定路径。......
  • 玩转SpringBoot:动态排除Starter配置,轻松部署
    引言在软件开发中,进行本地单元测试是一项常规且必要的任务。然而,在进行单元测试时,有时需要启动一些中间件服务,如Kafka、Elasticjob等。举例来说,我曾经遇到过一个问题:项目中使用了Redisson锁,但由于Redisson版本较低,在Mac环境下偶尔会报错#RedisConnectionException:Unabletoin......
  • 使用nmcli命令配置网卡(NetworkManager)
    配置网络IP地址sudonmcliconnectionmodifyens3ipv6.methoddisabledsudonmcliconnectionmodifyens3ipv4.methodmanualipv4.address192.168.1.6/24ipv4.gateway192.168.1.1ipv4.dns192.168.1.1sudonmcliconnectiondownens3&&sudonmcliconnectio......
  • M1 MacOS 配置C++环境时遇到的插件问题
    配置环境参照博客:https://www.cnblogs.com/BYGAO/p/15135609.html遇到问题:在Terminal--ConfigureDefaultBuildTasks--C/C++clang++这一步没有C/C++clang++选项。解决方法:shift+command+p打开搜索框,搜索SettingsSync:ShowSettings在IgnoredExtensions中打......
  • docker中mysql容器中配置时区
    mysql在docker容器中跑默认是取系统时区的,所以一般是UTC的时区,也就是说在中国的话,会比实际时间小8个小时。所以可以在环境变量中配置时区,我这里是通过docker-compose.yml中配置,如下图:[root@localhostmysql8]#catdocker-compose.ymlversion:'3'services:mysql8:......
  • 虚拟环境下安装运行Jupyter Notebook
    首先本地安装虚拟环境1、安装virtualenvwin+R组合键进入运行窗口,然后输入cmd回车确认进入cmd命令窗口。 在cmd命令窗口输入以下命令,安装virtualenv。pipinstallvirtualenv-ihttps://pypi.douban.com/simple运行结果如下: 2.创建虚拟环境用命令行切......
  • 基于STM32F407MAC与DP83848实现以太网通讯二(DP83848硬件配置以及寄存器)
    参考内容:DP83848数据表一、PHYDP83848功能模块图                     DP83848的硬件模块主要为:MII/RMII/SNI INTERFACES:用于与MAC数据传输的MII/RMII/SNI接口Transmit BLOCK:数据发送模块,将从外部MAC(例如STM32ETH外设的MAC)接收......
  • vscode配置cpplint
    cpplint是Google开发的一个用于检查C++代码风格的工具。它可以自动扫描C++源代码,并提供有关代码规范、风格和错误的反馈。cpplint基于Google的C++编码规范,但也可以配置为符合其他的代码风格指南。注意,cpplint不依赖于vscode存在,可以单独在命令行中使用。安装cpplint:pipinsta......
  • arm架构 麒麟系统,linux环境安装Oracle Instant Client
    $wgethttps://download.oracle.com/otn_software/linux/instantclient/instantclient-basic-linux-arm64.zip$unzipinstantclient-basic-linux-arm64.zip$wgethttps://download.oracle.com/otn_software/linux/instantclient/instantclient-sqlplus-linux-arm64.zip......