docker学习入门——理论

本文介绍了Docker的基本概念和技术特点,包括其作为容器技术如何帮助开发者和运维人员实现应用的标准化部署。详细解释了Docker镜像、容器、分层机制及Dockerfile等核心组件的功能与使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker介绍

Docker 这个单词英文原意是码头工人,搬运工的意思,这个搬运工搬运的是各种应用的容器。

官方的说法是,Docker是提供给开发者和系统管理员一个分布式应用的开放平台。在更多人的理解中,Docker是一种把你的应用或者服务打包后放在容器中运行的技术。

Docker 可以说有三个关键点:构建,运输,运行。这三个词可以对应我上述提到的那句话,构建即为打包,既然是打包了,那么就需要可以方便地搬运到各个地方,为什么要搬运呢?归根到底,我们是要运行打包了的应用和服务。

Docker存在的意图是让你把各种语言编写的程序应用以带有普适性的形式打包好,你只要拿到打包好的东西,可以忽略程序本身依赖的环境或者开发的语言,直接使用Docker便可以运行起来。在这个实际意义之上,最重要的是Docker提供了容器技术来隔离多个打包的应用或者服务之间的相互影响,同时由于打包的东西具有普适性,那么在应用规模的层面上也很便于扩展。

对于运维的管理人员,Docker提供了一种可移植的标准化部署流程,对于开发者,Docker 提供了一种开发环境的管理方法。

docker基础概念

  • 镜像

    按照Docker的规则,制作的应用。

    镜像的大小不等于通过docker images 看到的每个镜像大小的合集,docker镜像采用了分层的机制。上层使用共同下层,各自不同部门构建各自的独立分层。

    docker的镜像通过联合文件系统(union filesystem)将各层文件系统叠加在一起。

    镜像的两个特性:
    已有的分层镜像只能读不能改,上层镜像优先高于底层镜像。

  • 容器

    利用镜像所启动的就是容器,容器会启动预定义的进程与用户交付,对外提供服务

  • 分层

    每一个镜像都是一层一层叠加的,最多有128层

    aufs最多支持128层。(用户可以通过commit基于容器分层的概念,创建新的镜像,但是最多不能超过128层,Dockerfile中每一条run增加一层)

  • 仓库

    镜像的存储地

docker安装

centos7安装docker

# yum install docker

启动docker服务

# service docker start
Redirecting to /bin/systemctl start docker.service

设置docker开机启动

# chkconfig docker on
Note: Forwarding request to 'systemctl enable docker.service'.
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

docker file简单介绍

  • 用法
描述工程所有文件的编译顺序,规则,控制docker的构建
  • 语法
from
    构建的基础
MAINTAINER
    指定镜像的作者
ENV
    设置环境变量
    可以写多个
RUN
    运行shell命令
    多条用 && 连接,每个命令生成一层
COPY
    将编译机本地文件拷贝到镜像文件系统中
ADD
    文件复制
    比copy命令多两个功能:add文件连接地址, 拷贝后可以自动解压
EXPOSE
    指定监听的端口
ENTRYPOINT
    在使用镜像创建容器,容器启动后才执行的命令
ONBUILD
    配置当所创建的镜像作为其它新创建镜像的基础镜像时,所执行的操作指令。
VOLUME 
    挂载目录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值