Docker 基本知识简单梳理

1、使用场景

目前微服务技术普遍被很多公司使用,微服务化要求将原本垂直架构的单体应用要拆分成水平架构的一个个模块话的服务,各个服务之间通过消息中间件如MQ进行通信合作,大多数微服务技术都是基于各公司自研的云平台或基于其他大厂提供的云平台,通过云平台可以很方便管理各个应用。
容器化部署可以简化交付的运维压力,并且由于容器化部署可以是的同一个镜像可以在各个平台上运行,简化硬件差异带来的运维部署难度。

2、Docker架构

关于Docker要了解三个基本概念:

1、镜像: image类似于一个linux文件系统,毕竟 “everything is files”。
2、容器: 镜像是静态的,容器时动态的,类似于操作系统中的软件和进程的关系, 容器就是 处于 运行状态的镜像。
3、仓库:获取镜像的服务器,类似于maven仓库。我们可以在docker仓库中获取相应的镜像文件,在本地运行 获取的镜像文件。
在这里插入图片描述

3、容器镜像的使用

1、容器使用:
   docker pull ** 用于获取镜像文件
   docker run ** 启动容器(**为镜像)
   docker stop <容器 ID> 停止容器
   docker restart <容器 ID> 重启容器

2、镜像使用:
  docker images  来列出本地主机上的镜像
  docker build   从零开始来创建一个新的镜像,这种方式需要指定 Dockerfile文件,里面的命令用来告诉Docker如何构建镜像。其中 Dockerfile 类似于 makefile,都是内置一些命令用于构建编译。

4. Dockerfile编写

目前团队使用dockerfile构建镜像,通过Dockerfile可以实现一键部署,这样云平台可以通过执行Dockerfile的方式来构建生成镜像文件

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

简单的Dockerfile demo如下:

FROM  < image >
MAINTAINER   < name >

LABEL  < key >=< value > < key >=< value >....…
ENV  < key >=< value >

CMD [“executable”,“param1”,“param2”]
CMD [“param1”,“param2”]
CMD command param1 param2

COPY  < src >… < dest >
WORKDIR   /path/to/workdir
RUN  < command >

1、FROM
功能为指定基础镜像,并且必须是第一条指令。
如果不以任何镜像为基础,那么写法为:FROM scratch。
同时意味着接下来所写的指令将作为镜像的第一层开始
2、RUN
功能为运行指定的命令

RUN命令有两种格式

RUN < command >
RUN [“executable”, “param1”, “param2”]
3、CMD
功能为容器启动时要运行的命令
语法有三种写法:

CMD [“executable”,“param1”,“param2”]
CMD [“param1”,“param2”]
CMD command param1 param2
第三种比较好理解了,就是 shell 的执行方式和写法

第一种和第二种都是可执行文件加上参数的形式
RUN & CMD
不要把RUN和CMD搞混了。

RUN是构件容器时就运行的命令以及提交运行结果

CMD是容器启动时执行的命令,在构件时并不运行,构件时紧紧指定了这个命令到底是个什么样子
4、LABEL
功能是为镜像指定标签
5、MAINTAINER
指定作者
6、ENV
功能为设置环境变量
7、ADD
一个复制命令,把文件复制到镜像中。
8、COPY
复制命令
与ADD的区别:
COPY的只能是本地文件,其他用法一致

参考blog

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值