【学习笔记】Docker基础实战教程一:入门 您所在的位置:网站首页 大体重穿的球鞋有哪些品牌 【学习笔记】Docker基础实战教程一:入门

【学习笔记】Docker基础实战教程一:入门

2024-02-01 13:51| 来源: 网络整理| 查看: 265

Docker是一套以容器技术为核心的思想和一套标准化的体系,是IT领域的“集装箱”

Hello Docker! 镜像

镜像可以理解为一个打包了运行环境的特殊文件系统,它包含了容器启动运行所需的所有信息,包括运行程序和配置数据等。

镜像不包含任何动态数据,其内容在构建之后也不会改变。

例如,一个官方的Ubuntu14.04镜像,就包含了一套完整的Ubuntu14.04最小系统的root文件系统。

容器

镜像和容器的关系,类似于面向对象程序设计中的类和实例一样,镜像是静态的定义,而容器是镜像运行时的实体,可以看成是一个具备某个运行环境的非常轻量的虚拟机。

容器可以被创建、启动、停止和删除等。

在创建容器时,需要显示地为容器指定镜像。指定镜像之后,容器就具备了镜像中保存的运行环境了。

例如,可以为容器指定Ubuntu14.04的镜像,然后该容器就具备Ubuntu14.04的运行环境了。

Docker Registry

仓库(Repository)是集中存放镜像的地方。另外一个非常相似的单词Registry是注册服务器(例如Docker Hub就是一个官方的Registry)。注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。

从这方面来说,仓库可以被认为是一个具体的项目或目录。例如对于仓库地址dl.dockerpool.com/ubuntu来说,dl.dockerpool.com 是注册服务器地址,ubuntu 是仓库名。(一般而言,一个仓库会存放同一种类型的镜像,例如ubuntu的仓库。)

一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。通常,一个仓库会包含同一个软件不同版本的镜像会,而标签就常用于对应该软件的各个版本。我们可以通过 : 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。

以 Ubuntu 镜像为例, ubuntu是仓库的名字,其内包含有不同的版本标签,比如,14.04 , 16.04 。我们可以通过 ubuntu:14.04 ,或者 ubuntu:16.04来具体指定所需哪个版本的镜像。如果忽略了标签,比如ubuntu ,那将视为ubuntu:latest 。

仓库名经常以两段式路径形式出现,比如training/webapp,前者往往意味着 Docker Registry 多用户环境下的用户名,后者则往往是对应的软件名。

Docker使用的基本过程

获取一个镜像; 在安装完Docker服务之后,本地是没有任何镜像的,所以首先需要获取所需要的镜像。

基于该镜像创建并启动一个容器; 在创建容器时也可以设置容器的启动命令,该命令会在容器启动时执行

进入该容器,执行“程序”。

在容器成功创建并启动之后,该容器就具备了ubuntu的运行环境。我们可以进入该容器内部,并在其内部执行任何在ubuntu系统上的程序了。这里的“程序”可以是“Linux命令”、“shell脚本”、“C++程序”等。 示例 docker pull busybox:latest docker run --name zgh busybox:latest echo "Hello Docker"

第一条命令:获取一个名为busybox:latest的镜像。这条命令会从Docker Hub官方镜像仓库获取一个名为busybox:latest的镜像(busybox的最新版),并把它下载到宿主机。其中busybox是最小的Linux系统。

第二条命令: 创建并启动一个容器,并执行相应命令。首先,–name设置容器的名字为zgh,然后为容器指定了busybox:latest作为启动镜像,最后设置了该容器的启动命令为echo “Hello Docker”。容器启动并输出 “Hello Docker”后,将其停止。

其实我们也可以去掉第一条命令,直接使用第二条命令即可完成同样的功能。后台在执行命令时,发现本地没有busybox:latest镜像,会首先自动执行docker pull busybox:latest,将busybox:latest镜像下载到宿主机,然后再以busybox镜像作为基础,创建一个名为first_docker_container的镜像,并执行echo “Hello Docker”命令。

拉取镜像

在Docker的官方镜像仓库Docker Hub中保存了各种各样的镜像,这些镜像中保存了各种各样的运行环境。

例如包含Linux运行环境的“ubuntu”镜像、“centos”镜像、“busybox”镜像等,提供数据库服务的“mysql”镜像、“o\fracle”镜像、“redis”镜像等。提供程序运行环境的“java”镜像、“python”镜像、“c++”镜像等等。

基本上我们日常工作所需要的运行环境在Docker Hub中都会有对应的镜像(Docker Hub官网:https://hub.docker.com/ )

(这些镜像不是凭空出现的,这是镜像构建者们辛勤的劳动成果。每一个Docker的使用者都应该感谢这些镜像构建者们!!)

但是在安装完Docker之后,本地是没有任何镜像的。下面介绍如何从Docker Hub中拉取镜像(或者说下载镜像)。

命令 docker pull [OPTIONS] : 默认情况下,使用docker pull命令,会从官方的Docker Hub库中将镜像拉取到本地。docker pull:Docker拉取镜像的命令关键词;[OPTIONS]:命令选项;仓库名:仓库名的格式一般为/。对于Docker Hub,如果不指定用户名,则默认为library,即官方镜像;标签:标签是区分镜像不同版本的一个重要参数,:会唯一确定一个镜像。默认为latest

(在Docker Hub中有很多个镜像仓库,一般情况下会将同一类型的镜像放在同一个仓库中,例如在一个ubuntu仓库中由很多个ubuntu镜像组成,包括ubuntu:14.04、ubuntu:16.04、ubuntu:latest等等镜像)。

设置镜像加速器 #以root用户执行以下操作 mkdir -p /etc/docker tee /etc/docker/daemon.json


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有