![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Docker
TK13
你在凝视深渊的时候 深渊也在凝视着你
展开
-
docker 集群中文件挂载的问题
假如说在一个三节点的集群上执行docker service create --replicas 2-p 80:80 --name nginx nginx:1.13.7-alpine然后访问三个节点的任意一个ip都会看到nginx的欢迎界面。nginx的默认index.html路径在/usr/share/nginx/html/index.html假如说现在要进行文件挂载,也就...原创 2020-01-05 23:59:37 · 526 阅读 · 0 评论 -
Docker 修改运行中的容器端口映射
如果用docker run启动容器的时候发现自己忘记指定 -p 进行端口映射了,可以采取如下三种方式来增加端口映射:1.第一种是最无脑的方式,直接删除当前容器,然后用原镜像重新跑一个新的容器。简单暴力,但是如果是需要配置的东西过多的话,这样反而会比较麻烦,而且这个时候是新的容器,操作不当,可能丢失某些重要的状态或者数据。用commit的方式把当前容器重新打包成一个新的镜像,相比于1,好处是不...原创 2020-01-05 22:41:26 · 2618 阅读 · 1 评论 -
Docker Cgroups
Docker中利用namespace来做权限控制,用cgroups来做资源控制,这两个都是非常重要的,下面是整理了一些关于cgroups相关的。cgroups全称control groups ,是Linux内核提供的一种机制,用来限制、控制与分离一个进程组的资源(如CPU、内存、磁盘输入输出等)。cgroups最初的目标是为资源管理提供的一个统一的框架,即整合现有的cpuset等子系统,也...原创 2020-01-04 21:27:11 · 891 阅读 · 0 评论 -
Docker 底层实现
Docker底层实现(一些底层原理)Docker底层的核心技术包括Linux上的命名空间(Namespace)、控制组(Control groups)、Union文件系统(Union file systems)和容器格式(Container format)。传统的虚拟机通过在宿主主机中运行hypervisor来模拟一整套完整的硬件环境系统提供给虚拟机的操作系统。虚拟机系统看到的环境是可限制...原创 2020-01-04 17:28:56 · 472 阅读 · 0 评论 -
Docker Swarm服务发现和负载均衡原理
Docker Swarm服务发现和负载均衡原理Docker使用的是Linux内核iptables和IPVS的功能来实现服务发现和负载均衡。Iptables是Linux内核中可用的包过滤技术,可根据数据包的内容进行分类、修改和转发决策。IPVS是Linux内核中可用的传输级负载均衡。本地创建一个集群环境,我本地有三节点集群环境:客户端镜像:registry.cn-h...原创 2019-12-22 23:42:28 · 1455 阅读 · 0 评论 -
Docker Swarm mode与滚动升级
Swarm mode与滚动升级Swarm里面有个很好的姿势,就是可以动态的更新某个服务对应的镜像,已达到滚动升级的目的,而不是重新制作这个服务,并且重新制作的话不光麻烦,还不好管理,swarm的这个滚动升级是可以直接通过替换镜像来升级,之后还可以查看记录,并且随时切换到任何一个镜像上。还是比较香的。其实是用的 docker service update 里面的那个 --image 其他参数...原创 2019-12-22 08:03:40 · 474 阅读 · 0 评论 -
Docker Swarm集群config集中管理配置文件
在Swarm集群中管理配置数据(跟secret很像)传统配置文件管理姿势是 放入镜像、设置环境变量、或者是volume动态挂载,会降低镜像的通用性,维护起来也麻烦,17.06版本后的docker支持统一 docker config子命令管理集群重的配置信息,无需将配置文件放入镜像或者挂载到容器中就可以实现对服务的配置。PS:config 仅能在Swarm集群中使用(这个地方和secret不...原创 2019-12-22 04:46:57 · 2599 阅读 · 3 评论 -
Docker Swarm集群secrets中管理敏感数据
在Swarm集群中管理敏感数据以往管理敏感数据的姿势通常是 密钥放镜像中、设置环境变量、volume动态挂载等。Docker目前提供了secrets管理功能,用户可以在Swarm集群中安全地管理密码、密钥证书等铭感数据,并允许在多个Docker容器实例之间共享访问指定的敏感数据。Ps: secret 可以在Docker Compose中使用。创建secretopenssl r...原创 2019-12-21 20:02:10 · 551 阅读 · 0 评论 -
Docker 集群 图形化显示 Visualizer
今天无意中看到了这个东西Visualizer,功能是可以可视化的去观察展示swarm集群里面个节点的信息情况,使用起来很方便。这里整理一下:我先部署一个三节点的swarm集群:然后在整个简单的nginx,开7个服务,让三个node节点都跑起来。docker service create --replicas 3 -p 80:80 --name nginx nginx:1.13.7-...原创 2019-12-20 23:51:03 · 2794 阅读 · 0 评论 -
区分docker stack/service/task
//关系如下stack --> service --> task(container)//常用命令1.用compose部署或更新:docker stack deploy -c docker-compose.yml -c docker-compose.override.yml <stack_name>ps:如果需要自动pull私有的dockerhub,请添加...原创 2019-12-20 10:25:08 · 762 阅读 · 0 评论 -
打包caddy为docker镜像
打包caddy为docker镜像,可以在这个基础上做服务入口 gateway或者是负载均衡配置入口等一些操作,下面是打包基本镜像的流程,实际使用可以把这个镜像作为基本镜像,或者是直接在这个结构上加东西,然后打包出来一个项目镜像(下面是用ubuntn为例)。先去caddy官网下载对应系统的版本的caddy可执行文件,下载解压后会有很多东西,只要caddy文件就行。官网: https://ca...原创 2019-12-19 21:21:53 · 1024 阅读 · 0 评论 -
Docker Swarm 用compose部署WordPress
Swarm集群中也是可以使用docker-compose.yml文件关于compose不知道的可以看这里:https://blog.csdn.net/u013761036/article/details/103484441下面是部署WordPress先是创建docker-compose.yml文件(注意格式 注意格式 注意格式,yml文件改了一个多小时。哎!)vers...原创 2019-12-19 00:29:02 · 321 阅读 · 0 评论 -
Docker Swarm删除节点
节点上的主机如果想离开的话,可以自己直接执行docker swarm leave然后你可以发现,原本跑在自己上面的容器被转移到别的容器上了。此时如果在manager节点上docker node ls看的话,这个节点已经Down了。然后访问下这个节点的服务,也是理所当然的失败想加入回来就重新JOIN一下但此时注意两点,第一。对于manager来说之前的...原创 2019-12-17 00:02:42 · 1492 阅读 · 0 评论 -
Docker Swarm集群搭建
Docker Swarm提供Docker容器集群服务,可以将多个Docker主机封装为单个单行的虚拟Docker主机,快速打造一套容器云平台。DockerSwarm提供很多新特性,如 具有容错能力的去中心化设计、内置服务发现、负载均衡、路由网络、动态伸缩、滚动更新、安全传输等。必须弄清楚的几个基本概念节点:运行Docker的主机可以主动初始化一个Swa...原创 2019-12-16 00:11:47 · 390 阅读 · 0 评论 -
Docker Machine-Windows
如果你本地window上装的是Docker Deskto,并且一直正常使用,那你可以直接跳转到mark13 【所搜下mark13跳过去】注意如下姿势是错误的Windows上安装VM虚拟机,虚拟机里装Linux,所有的操作都在Linux里面操作,如果是基本的docker学习和docker-compose项目还没啥影响,当时如果是部署集群的时候涉及到docker-machin的话会有一个大坑。...原创 2019-12-15 15:54:13 · 294 阅读 · 0 评论 -
Docker Compose
Compose负责实现对Docker容器集群的快速编排。定位是 定义和运行多个Docker容器的应用,前身是Fig。Compose允许用户通过单一docker-compose.yml模板文件(YAML格式)来定义一组相关的应用容器为一个项目。通过子命令对项目中的一组容器进行生命周期管理。Compose中两个重要概念:服务(service):一个应用的容器,实际上可以包含若干运行相...原创 2019-12-10 22:50:45 · 327 阅读 · 0 评论 -
Docker网络配置进阶
Docker启动会默认创建docker0虚拟网桥,是Linux的一个bridge,可以理解成一个软件交换机。它会在挂载到它的网口之间进行转发。之后所有容器都是在172.17.0.x的网段上,并且可以相互通讯,包括和宿主主机通讯。当创建一个Docker容器的时候,同时会创建一对vethpair(虚拟设备接口)(https://www.cnblogs.com/bakari/p/...原创 2019-12-08 16:59:38 · 230 阅读 · 0 评论 -
Docker网络相关
Docker中网络功能相关Docker是允许通过外部访问容器或者容器互联的方式来提供网络服务。外部访问容器:通过-P或者-p参数指定端口映射,-P是随机;-p是指定。-P:Docker会随机映射一个端口到内部容器开放的网络端口。用dockerrun-d-Ptraining/webapppythonapp.py创建启动一个容器。然后再用do...原创 2019-12-07 16:34:41 · 148 阅读 · 0 评论 -
Docker数据管理
Docker数据管理在容器中管理数据主要有两种方式:数据卷(Volumes)和挂载主机目录(Bindmounts)。数据卷:数据卷是一个可供一个或多个容器使用的特殊目录,它绕过UFS,可以提供很多有用的特性:1.可以在容器之间共享和重用。2.对数据卷的修改会立马生效。3.对数据卷的更新,不会影响镜像。4.数据卷默认会一直存在,即使容器被...原创 2019-12-05 23:29:25 · 170 阅读 · 0 评论 -
Docker阿里云镜像存储服务
阿里云镜像服务地址 https://cr.console.aliyun.com/cn-beijing/instances/repositories 免费免费免费登陆之后可以免费创建,仓库。地址大约有三层。服务器地址/命名空间/仓库,大体类似下面这个样子registry.cn-beijing.aliyuncs.com/命名空间/仓库:版本,服务器地址是北京的仓库的话可以进行权限隔离,...原创 2019-12-03 17:38:25 · 803 阅读 · 0 评论 -
Docker私有仓库
私有私有仓库有时候使用DockerHub这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用。docker-registry是官方提供的工具,可以用于构建私有的镜像仓库。下面是基于v2.x版本。仓库也是一个镜像,直接从官方拉取安装:dockerrun-d-p5000:5000--restart=always--nameregistryregistry...原创 2019-12-02 23:41:20 · 2126 阅读 · 0 评论 -
Docker仓库-Docker Hub
DockerHubDocker官方维护了一个公共仓库DockerHub,其中已经包括了数量上百万的镜像,大部分需求都可以通过在DockerHub中直接下载镜像来实现。注册:https://hub.docker.com登录的话在本地直接dockerlogin,退出就是dockerlogout,但是注意一点就是docker密码会被明文存储在/root/.docker/...原创 2019-12-01 21:19:35 · 3255 阅读 · 0 评论 -
操作Docker容器
操作Docker容器容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用。启动容器:启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。因为Docker容器是在太轻量级了,很多时候用户都是随时删除和新创建容器。新建并启动...原创 2019-12-01 16:24:18 · 209 阅读 · 0 评论 -
Dockerfile多阶段构建
多阶段构建之前的做法: 在Docker17.05版本之前,构建Docker镜像,通常采用两种方式: 1.全部放入一个Dockerfile 一种方式是将所有的构建过程全都包含在一个Dockerfile中,包括项目及其依赖库的编译、测试、打包流程,这里会带来的一些问题: 镜像层次多,镜像体积较大,部署时间变长 源代码存在泄漏的风险 ...原创 2019-11-30 18:11:59 · 253 阅读 · 0 评论 -
DockerFile常用命令
COPY 复制文件COPY [--chown=<user>:<group>] <源路径>... <目标路径>COPY [--chown=<user>:<group>] ["<源路径1>",... "<目标路径>"]COPY 指令将从构建上下文目录中 <源路径> 的文件/目录复制...原创 2019-11-29 00:05:45 · 502 阅读 · 0 评论 -
Docker用Dockerfile定制镜像
用Dockerfile定制镜像 镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那之前提示的无法重复的问题。镜像透明性问题。体积的问题就都会解决,所以就有了Dockerfile。 Dockerfile是一个文本文件,其内容包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就...原创 2019-11-25 23:06:47 · 447 阅读 · 0 评论 -
Docker用Commit给容器做快照
关于commit镜像是容器的基础,每次执行dockerrun的时候都会指定哪个镜像作为容器运行的基础。镜像是多层存储,每一层是在前一层的基础上进行修改;而容器同样也是多层存储,是在以镜像为基础,在其基础上加一层作为容器运行的时的存储层。以下是用来理解镜像构建:dockerrun--namewebserver-d-p80:80nginx以nginx镜像为基础...原创 2019-11-25 23:03:16 · 2382 阅读 · 0 评论 -
Docker镜像基本使用
使用Docker镜像Docker运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker会从镜像仓库下载该镜像。获取镜像dockerpull[选项][DockerRegistry地址[:端口号]/]仓库名[:标签]Docker镜像仓库地址:地址的格式一般是<域名/IP>[:端口号]。默认地址是DockerHub。仓库名...原创 2019-11-19 23:50:36 · 539 阅读 · 0 评论 -
Docker-整理
Docker从入门到实践:(写的很好)https://yeasy.gitbooks.io/docker_practiceDocker与虚拟机的区别:https://blog.csdn.net/jingzhunbiancheng/article/details/80994909Windows7 Docker 安装:https://blog.csdn.net/ncdx111/artic...原创 2019-08-16 18:40:57 · 198 阅读 · 0 评论