Dockerfile简介Dockerfile是Docker中用于定义镜像自动化构建流程的配置文件。在Dockerfile中,包含了构建镜像过程中需要执行的命令和其他操作。通过Dockerfile可以更加清晰,明确的给定Docker镜像的制作过程,由于仅是简单,小体积的文件,在网络等介质中传递的速度快,能够更快的实现容器迁移和集群部署。Dockerfile是一个文本文件,其内包含了一条条的指令,每一
Docker-Compose是Docker的一种编排服务,是一个用于在Docker上定义并运行复杂应用的工具,可以让用户在集群中部署分布式应用。ockerfile可以让用户管理一个单独的应用容器;而Compose则允许用户在一个模板(YAML格式)中定义一组相关联的应用容器(被称为一个project,即项目),例如一个Web服务容器再加上后端的数据库服务容器等。**Dockercpmose介绍:D
Dockerfile常用指令:1、FROM:构建镜像基于哪个镜像例如:FROMcentos2、MAINTAINER:镜像维护者姓名或邮箱地址例如:MAINTAINERSunqiuming3、RUN:构建镜像时运行的shell命令例如:RUN["yum","install","httpd"]RUNyum-yinstallhttpd4、CMD
基本概念:Swarm介绍:Swarm是Docker公司在2014年12月初发布的一套较为简单的工具,用来管理Docker集群,它将一群Docker宿主机变成一个单一的虚拟的主机。Swarm使用标准的DockerAPI接口作为其前端访问入口,换言之,各种形式的DockerClient(dockerclientinGo,docker_py,docker等)均可以直接与Swarm通信。Swarm几乎全部
Prometheus(普罗米修斯)监控环境准备:三台docker主机(centos7):docker01:172.16.1.30部署服务:Prometheusserver,Grafana,NodeExporter,cAdvrisordocker02:172.16.1.31部署服务:NodeExporter,cAdvrisordocker03:172.16.1.32部署服务:NodeExporter
监控利器sysdig(实时查看)sysdig是一个轻量级的系统监控工具,同时它还原生支持容器。通过sysdig我们可以近距离观察linux操作系统和容器的行为。Linux上有很多常用的监控工具,比如strace,tcpdump,htop,iftop,lsof......而sysdig则是将这些工具的功能集成到一个工具中,并且提供一个友好统一的操作界面。//安装和运行sysdig的最简单方法就是运行
持久化存储Datavolume要知道容器是有生命周期的。docker默认的存储方式:存储类型:(stragedriver:overlay2.xfs)datavolume有两种挂载方式:1)bindmount(用户管理):将宿主机上的某个目录或文件(不可以是没有格式化的磁盘文件),挂载到容器中,默认在容器内对此目录是有读写权限的,如果只需要向容器内添加文件,不希望覆盖目录,需要注意源文件必须存在,否
基本概念:Macvlan工作原理:Macvlan是Linux内核支持的网络接口。要求的Linux内部版本是v3.9–3.19和4.0+;通过为物理网卡创建Macvlan子接口,允许一块物理网卡拥有多个独立的MAC地址和IP地址。虚拟出来的子接口将直接暴露在相邻物理网络中。从外部看来,就像是把网线隔开多股,分别接受了不同的主机上一样;物理网卡收到包后,会根据收到包的目的MAC地址判断这个包需要交给其
dcoker网络:none网络:什么都没有的网络。它的是使用常见:封闭空间意味着隔离,安全,比如生成随机码。host网络:网络配置与dockerhost完全相同。应用场景:性能好,但是没有灵活性,容易出现端口冲突问题。brigde网络:默认的网络驱动默认,用以实现主机网络接口与虚拟网络接口间的通信。部署网络的基本操作命令://查看docker服务器中的网络:[root@sqm-docker03~]
仓库(Repository)是集中存放镜像的地方。一个容易混淆的概念是注册服务器(registry)。实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一个具体的项目或目录。例如对于仓库地址docker.sina.com.cn/centos:centos7来说,docekr.sian.com.cn是注册服务器地址,cento
环境准备:consul:高可用,分布式的服务发现的工具master主机—docker01:172.16.1.30node01主机—docker02:172.16.1.31node02主机—docker03:172.16.1.32注意:因为是测试环境,所以暂时关闭防火墙,禁用selinux,如果是对外网发布的服务器,是不可以关闭防火墙,可以设置iptables规则。项目操作:(1)docker01上
Docker底层技术:docker底层的2个核心技术分别是Namespaces和ControlgroupsNamespace:是容器虚拟化的核心技术,用来隔离各个容器,可解决容器之间的冲突。主要通过以下六项隔离技术来实现:有两个伪文件系统:/proc和/sys/UTS:允许每个container拥有独立的hostname(主机名)和domainname(域名),使其在网络上可以被视作一个独立的节点
docker镜像操作逻辑图:docker是一个容器,而运行一个容器必须要有镜像,因为镜像是容器的核心,我们在docker上运行一个服务时需要通过dockerrun运行一个镜像,才能够进入到该容器中,我们也可以使用dockercommit命令将一个容器制作成一个镜像,但注意制作一个镜像时需要指定一个完整的镜像名称(镜像名称+版本号),它默认的版本号是latest,表示为最新版本的镜像,如果不写,将默
环境准备:在一台主机上部署lnmp,基于多个容器:nginx服务:172.16.10.10mysql服务:172.16.10.20php服务:172.16.10.30解决容器固定ip地址问题:注意:因为当容器停止时或者将容器删除,再次运行相同的容器,它的ip地址不再时原来的地址,所以我们需要自定义一个网段,来指定容器的ip地址。项目操作:(1)首先自定义一个网络:[root@sqm-docker0
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号