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

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使用的基本过程

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

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

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

    • 在容器成功创建并启动之后,该容器就具备了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系统。

  • 第二条命令: 创建并启

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Dockerfile是用于构建Docker镜像的文本文件,其中包含了一系列指令和参数,用于指定镜像的构建过程。Dockerfile可以通过编写文本文件来定义镜像的构建过程,然后通过docker build命令来构建镜像。Dockerfile中的指令包括FROM、RUN、COPY、ADD、CMD、ENTRYPOINT等,这些指令可以用于定义镜像的基础环境、安装软件、复制文件等操作。通过Dockerfile可以实现镜像的自动化构建,提高了镜像构建的效率和可重复性。 ### 回答2: Dockerfile是定义Docker镜像的文本文件,使用Dockerfile可以方便地自定义应用程序的镜像。Dockerfile包含了通过一系列指令构建Docker镜像所需要的步骤和指令。每个指令代表了构建过程中的一个操作步骤。 常用的指令包括FROM、RUN、CMD、EXPOSE、ENTRYPOINT等,这些指令可以让我们在构建镜像的过程中完成各种常见的操作,如安装软件包、配置环境变量、拷贝文件等,而不需要手工进行。 使用Dockerfile构建镜像的步骤如下: 1. 定义基础镜像。使用FROM指令来指定Docker官方的基础镜像,如Ubuntu、CentOS等。 2. 安装应用程序。使用RUN指令来运行必要的命令,如安装软件包、配置环境变量等。 3. 复制文件。使用COPY和ADD指令来将文件和目录复制到镜像中。 4. 暴露端口。使用EXPOSE指令来指定容器可以使用的端口。 5. 定义启动命令。使用ENTRYPOINT和CMD指令来定义容器启动时要执行的命令。 以上步骤可以组合使用,以构建满足我们应用程序需求的镜像。 使用Dockerfile构建镜像的好处是,可以轻松地对不同环境的应用程序进行打包和部署。同时,也可以简化应用程序部署的过程,加快应用程序的开发和交付速度,提高系统稳定性和版本管理的可控性。 总之,Dockerfile是Docker极为重要的一个组成部分。通过Dockerfile的构建,我们可以更好地管理和部署应用程序,让开发者和管理员更便利地管理和维护整个应用生态。 ### 回答3: Dockerfile是Docker用来构建镜像的脚本文件,其中包含构建镜像的指令和参数,以及镜像生成的源文件等信息。使用Dockerfile可以让我们自动化构建镜像,快速生成想要的环境和配置,并且可复用性和可维护性较高。 Dockerfile的基本语法: FROM:指定镜像的基础镜像。 MAINTAINER:设置镜像作者和作者的联系方式。 RUN:在镜像中执行命令,用来安装软件或调整环境。 ADD:将文件或目录添加到镜像中。 COPY:将文件或目录复制到镜像中。 WORKDIR:设置容器中工作目录。 ENV:设置环境变量。 EXPOSE:声明容器中的服务端口。 CMD:定义容器中默认执行的命令和参数。 在Dockerfile中,每一条指令都会生成一个新的镜像层,当我们想更改其中某一层时,只需更改该层指令及其以下的指令即可,不需要重新构建整个镜像。 使用Dockerfile可以自动化构建镜像,但是需要注意一些细节: 1. 使用Dockerfile时,标准化设置镜像环境和配置文件,以便于后续的调试和部署。 2. 防止指令顺序变化,可以使用其他的构建工具或者版本管理工具来管理镜像构建过程。 3. 构建时可以使用缓存,避免重复安装某个软件包,但是需要注意更新和清理缓存。 总之,Dockerfile是Docker构建镜像的重要方式之一,灵活使用Dockerfile可以让我们更高效地构建和管理Docker镜像。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值