docker技术分享

1.镜像介绍

docker可以看成是一个文件系统,他提供了除内核外的完整的运行时的环境。也就是说在这个文件系统里,可以包含部署的应用程序。这样做的好处是提高了工程的迁移性,提高同时也保证了对线上环境更好的控制,而且比起虚拟机技术,docker可以获得更好的性能,但是他的隔离性要稍微差一些。

有关概念:镜像,容器,仓库。

镜像

docker的镜像时分层存储的,在构建镜像时,每一条指令都会使docker多加一层,而且构建时添加的不能真正的删除。因此在构建镜像的时候,需要认真的考虑每一层是什么,不要无脑的add copy。

容器

容器就是运行起来得镜像,镜像和容器的关系,就相当于面相对象编程语言里的类与对象的关系。

仓库

用了存储镜像的,一个仓库里面有很多的标签,一个标签对应一个镜像。(tag:image)

Docker Registry

Docker Registry里可以有很多的仓库,有共有的Docker Registry也有私有的Docker Registry。

2.指令

获取镜像

docker pull [选项] [Docker Registry地址]<仓库名>:<标签>

运行容器

docker run,加-d则以守护态运行容器。

列出镜像

docker image

进入容器

docker exec

提交容器

docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]

容器的导入、导出

docker import,docker export。

终止容器

docker stop

其他命令:

copy,add,cmd,entrypoint,env,arg,volume,expose,workdir,user.healthcheck,onbuild。

数据管理

创建数据卷

为了统一管理应用程序日,可以使用数据卷。数据卷用-v命令
sudo docker run -d -P --name web -v /webapp training/webapp py
thon app.py

删除数据卷

docker rm -v

数据卷容器

数据卷容器就是专门提供数据卷,供其他容器挂载。
创建一个数据卷容器:
sudo docker run -d -v /dbdata --name dbdata training/postgres
echo Data-only container for postgres
在其他容器中使用volumes-from来挂载dbdata 容器中的数据卷。

网络

在docker中,可以使用-p或者是-P来指定端口。
在这里说下dcoker会有一个默认的虚拟桥接网卡,dcoker0,所有的docker容器都会接到该网卡上,因此只要将该网卡加入到路由信息表中,就可以把docker容器暴露在真实的局域网中。

底层实现

Docker 采用了 C/S架构,包括客户端和服务端。 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。
客户端和服务端既可以运行在一个机器上,也可通过 socket 或者 RESTful API 来进行通信。

Docker daemon 一般在宿主主机后台运行,等待接收来自客户端的消息。 Docker客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker daemon交互。

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值