docker
文章平均质量分 83
docker
water___Wang
不断学习
展开
-
docker(1):什么是 Docker
1. 什么是dockerDocker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。项目后来加入了Linux基金会,遵从了Apache2.0协议,项目代码在GitHub(https://github.com/docker/docker)上进行维护。Docker自开源后受到广泛的关注和讨论,以至于dotCloud公司后来都改名为DockerInc。Redhat已经在其RHEL6.5中集中支持Docker;Google也在其PaaS原创 2021-04-27 19:51:47 · 3115 阅读 · 0 评论 -
docker(2):基本概念
1. 镜像Docker 包括三个基本概念镜像(Image)容器(Container)仓库(Repository)理解了这三个概念,就理解了 Docker 的整个生命周期。1.1 Docker 镜像Docker 镜像就是一个只读的模板。例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。镜像可以用来创建 Docker 容器。Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一原创 2021-04-27 20:46:24 · 3093 阅读 · 0 评论 -
docker(3): 安装
1. Ubuntu 系列安装 Docker官方网站上有各种环境下的 安装指南 (https://docs.docker.com/installation/#installation) 。1.1 通过系统自带包安装Ubuntu 14.04 版本系统中已经自带了 Docker 包,可以直接安装。$ sudo apt-get update$ sudo apt-get install -y docker.io$ sudo ln -sf /usr/bin/docker.io /usr/local/bin原创 2021-04-27 22:09:24 · 3086 阅读 · 0 评论 -
docker(4):镜像
1. 获取镜像在之前的介绍中,我们知道镜像是 Docker 的三大组件之一。Docker 运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker 会从镜像仓库下载(默认是 Docker Hub 公共注册服务器中的仓库)。本章将介绍更多关于镜像的内容,包括:从仓库获取镜像;管理本地主机上的镜像;介绍镜像实现的基本原理。可以使用 docker pull 命令来从仓库获取所需要的镜像。下面的例子将从 Docker Hub 仓库下载一个 Ubuntu 12.04 操作系统的镜像。原创 2021-04-27 22:52:37 · 3101 阅读 · 0 评论 -
docker(5):容器
1. 启动容器是 Docker 又一核心概念。简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用。本章将具体介绍如何来管理一个容器,包括创建、启动和停止等。 启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器。1.1 新建并启动所需要的命令主要为 d原创 2021-04-28 16:44:15 · 3252 阅读 · 0 评论 -
docker(6):仓库
1. Docker Hub仓库(Repository)是集中存放镜像的地方。一个容易混淆的概念是注册服务器(Registry)。实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一个具体的项目或目录。例如对于仓库地址 dl.dockerpool.com/ubuntu 来说, dl.dockerpool.com 是注册服务器地址, ubuntu 是仓库名。大部分时候,并不需要严格区分这两者的概念。目前 Docker 官方维护原创 2021-04-28 21:21:42 · 3173 阅读 · 0 评论 -
docker(7):数据管理
1. 数据卷数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:数据卷可以在容器之间共享和重用对数据卷的修改会立马生效对数据卷的更新,不会影响镜像卷会一直存在,直到没有容器使用 *数据卷的使用,类似于 Linux 下对目录或文件进行 mount。1.1 创建一个数据卷在用 docker run 命令的时候,使用 -v 标记来创建一个数据卷并挂载到容器里。在一次 run 中多次使用可以挂载多个数据卷。下面创建一个 web 容器,并加载一个数据卷到容器的原创 2021-04-28 22:36:35 · 3055 阅读 · 0 评论 -
docker(8):使用网络
1. 外部访问容器容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射。当使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口。使用 docker ps 可以看到,本地主机的 49155 被映射到了容器的 5000 端口。此时访问本机的 49155 端口即可访问容器内 web 应用提供的界面。$ sudo docker run -d -P training/webapp python app.py$原创 2021-04-28 23:16:56 · 3053 阅读 · 0 评论 -
docker(9):高级网络配置
1. 快速配置指南当 Docker 启动时,会自动在主机上创建一个 docker0 虚拟网桥,实际上是 Linux 的一个 bridge,可以理解为一个软件交换机。它会在挂载到它的网口之间进行转发。同时,Docker 随机分配一个本地未占用的私有网段(在 RFC1918 (http://tools.ietf.org/html/rfc1918) 中定义)中的一个地址给 docker0 接口。比如典型的 172.17.42.1 ,掩码为 255.255.0.0 。此后启动的容器内的网口也会自动分配一个同原创 2021-04-29 07:59:26 · 3230 阅读 · 0 评论 -
docker(10):实战案例
1.使用 Supervisor 来管理进程Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务。但我们经常需要在一个机器上开启多个服务,这可以有很多方法,最简单的就是把多个启动命令放到一个启动脚本里面,启动的时候直接启动这个脚本,另外就是安装进程管理工具。本小节将使用进程管理工具 supervisor 来管理容器中的多个进程。使用 Supervisor 可以更好的控制、管理、重启我们希望运行的进程。在这里我们演示一下如何同时使用 ssh 和 ap原创 2021-04-29 13:41:22 · 3864 阅读 · 0 评论 -
docker(11):安全
1.内核名字空间Docker 容器和 LXC 容器很相似,所提供的安全特性也差不多。当用 docker run 启动一个容器时,在后台 Docker 为容器创建了一个独立的名字空间和控制组集合。名字空间提供了最基础也是最直接的隔离,在容器中运行的进程不会被运行在主机上的进程和其它容器发现和作用。每个容器都有自己独有的网络栈,意味着它们不能访问其他容器的 sockets 或接口。不过,如果主机系统上做了相应的设置,容器可以像跟主机交互一样的和其他容器交互。当指定公共端口或使用 links 来连接 2 个原创 2021-04-29 17:15:44 · 3149 阅读 · 0 评论 -
docker(12):Dockerfile
1.基本结构Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。一般的,Dockerfile 分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。例如#This dockerfile uses the ubuntu image#VERSION 2 - EDITION 1#Author: docker_user#Command format: Instruction [arguments / command] ..#Base image to use,原创 2021-04-29 17:42:07 · 3065 阅读 · 2 评论 -
docker(13):底层实现
1.基本架构Docker 采用了 C/S架构,包括客户端和服务端。 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者 RESTfulAPI 来进行通信。Docker daemon 一般在宿主主机后台运行,等待接收来自客户端的消息。Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker daemon 交互。2.名字空间名字空间是 Linux .原创 2021-04-29 21:21:13 · 3066 阅读 · 1 评论 -
docker(14):什么是 Docker可视化面板-Portainer
Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。Portainer是一个轻量级的docker环境管理UI,可以用来管理docker宿主机和docker swarm集群。他的轻量级,轻量到只要个不到100M的docker镜像容器就可以完整的提供服务。直接.转载 2021-05-06 14:56:01 · 4185 阅读 · 2 评论 -
docker(15):在centOS6.5 上安装使用pipework
需求:镜像生成了2个含有tomcat的容器,用nginx进行负载均衡。但是容器重启后ip会自动改变。。。所以使用pipework进行分配静态ippipework安装OS:centos6.5第一步:安装gitroot@bogon ~]# yum -y install git第二步:安装pipework[root@bogon ~]# git clone原创 2015-01-09 14:55:23 · 42996 阅读 · 2 评论 -
docker(16):Portainer范例:安装WordPress
1. 安装WordPress容器进入到 Portainer 页面,选择左边的 Containers 选项,单击上方的 Add container 按钮转到如图所示的页面;在 Name 一栏中输入容器名字;在 Image 一栏输入容器镜像名,比如要安装 wordpress 则输入 wordpress 即可,系统会自动拉取 wordpress 的容器镜像;设置端口,如果开启 Publish all exposed ports 开关,系统会随机开启一个端口映射到容器端口。另外也可点击 map addi原创 2021-05-06 17:11:18 · 3725 阅读 · 2 评论 -
docker(17):5 个好用的 Docker 图形化管理工具
你平时是怎么管理 Docker 容器的?还在使用一大堆的窗口和命令吗?Docker 有不少好用的图形化管理客户端,可以简化我们的工作,提供效率。下面介绍5个比较流行的 Docker 客户端工具。PortainerPortainer 是开源的,是 Web 应用的形式。github 上项目地址:https://github.com/portainer/portainer官网地址:https://www.portainer.io支持的系统:Linux, Mac OS X, Windows。功转载 2021-05-06 19:57:31 · 6537 阅读 · 2 评论 -
docker(18):Docker部署SpringBoot项目
1. 编写springboot项目里面随便写一个rest接口,返回字符串"Hello Docker!"import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class DockerController { @RequestMapping("/")原创 2021-05-06 21:09:31 · 4008 阅读 · 18 评论