初窥docker

什么是容器?     

1.操作系统的架构:                                

   进程可见,相互通信     

  共享一份文件系统     

2.容器的架构:

 

资源视图隔离 - namespace                     

控制资源的使用率 - cgroup

独立的文件系统 - chroot

容器,是一个视图隔离、资源可限制、独立文件系统的进程集合。

  • 视图隔离–如能看见部分进程,独立主机名等等;
  • 控制资源使用率―如2G内存大小,CPU使用个数等等;

什么是镜像?

运行容器所需要的所有文件集合称为镜像。

dockerfile-描述镜像的构建步骤

构建步骤所产生出系统文件的变化-changeset

  • 类似disk snapshot
  • 提高分发效率,减少磁盘压力(基于镜像创建镜像)

如何构建镜像? 

Dockerfile构建镜像是以基础镜像为基础的,Dockerfile是一个文本文件,内容是用户编写的一些docker指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。

类型命令
基础镜像信息FROM
维护者信息MAINTAINER
镜像操作指令RUN、COPY、ADD、EXPOSE、WORKDIR、ONBUILD、USER、VOLUME等
容器启动时执行指令CMD、ENTRYPOINT

创建nginx镜像的dockerfile:

 #在centos上安装nginx
FROM centos
#标明著作人的名称和邮箱
MAINTAINER your
#测试一下网络环境
RUN ping -c 1 www.baidu.com
#安装nginx必要的一些软件
RUN yum -y install gcc make pcre-devel zlib-devel tar zlib
#把nginx安装包复制到/usr/src/目录下
ADD nginx-1.15.8.tar.gz /usr/src/
#切换到/usr/src/nginx-1.15.8编译并且安装nginx
RUN cd /usr/src/nginx-1.15.8 \
    && mkdir /usr/local/nginx \
    && ./configure --prefix=/usr/local/nginx && make && make install \
    && ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ \
    && nginx
#删除安装nginx安装目录
RUN rm -rf /usr/src/nginx-nginx-1.15.8
#对外暴露80端口
EXPOSE 80
#启动nginx
CMD ["nginx", "-g", "daemon off;"]

如何运行容器? 
 

①基于dockerfile文件构建镜像,push到镜像仓库;

②从 docker registry下载镜像― docker pull backup:1.25

③查看本地镜像列表– docker images

③选择相应的镜像并运行– docker run [-d]—name demo backup:1.25 top

小节

容器–和系统其他部分隔离开的进程集合

镜像–容器所需要的所有文件集合–Build once, Run anywhere


容器运行时的生命周期

单进程模型

1.lnit进程生命周期=容器生命周期

2.运行期间可运行exec执行运维操作

数据持久化

1.独立于容器的生命周期

2.数据卷- docker volume vs bind

  • 第一种方法是通过bind直接将主机的目录挂载到容器中。这种方法相对简单,但会带来操作和维护成本,因为它依赖于主机的目录,需要对所有主机统一管理。
  • 第二种方法是将目录管理留给运行中的引擎

moby容器引擎架构

容器和vm之间的差异
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知始行末

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值