【Linux】【Services】【Docker】应用
1. Docker应用:
镜像:包含了启动Docker容器所需要的文件系统层级及其内容;基于UnionFS采用分层结构实现;
bootfs,rootfs
registry:保存docker镜像及镜像层次结构和元数据;
repository:由具有某个功能的镜像的所有相关版本构成的集合;
index:管理用户的账号、访问权限、镜像及镜像标签等等相关的;
graph:从registry中下载的Docker镜像需要保存在本地,此功能即由graph完成;
/var/lib/docker/graph,
与镜像相关的命令:
images
search
pull
push
login
logout
创建镜像:commit, build
删除本地镜像:rmi
容器:
独立运行的一个或一组应用,以及它们运行的环境;
命令:
run, kill, stop, start, restart,log,export, import
启动方法:
通过镜像创建一个新的容器;run
启动一个处于停止状态的容器;start
run命令:
--name= Assign a name to the container
-i, --interactive=false Keep STDIN open even if not attached
-t, --tty=false Allocate a pseudo-TTY
--net=default Set the Network for the container
-d, --detach=false Run container in background and print container ID
步骤:
检查本地是否存在指定的镜像,不存在则从registry下载;
利用镜像启动容器
分配一个文件系统,并且在只读的镜像层之外挂载一个可读写层;
从宿主机配置的网桥接口桥接一个虚拟接口给此容器;
从地址池中分配一个地址给容器;
执行用户指定的应用程序;
程序执行完成后,容器即终止;
对于交互式模式启动的容器,终止可使用exit命令或ctrl+d组合键;
logs命令:获取一个容器的日志,获取其输出信息;
attach命令:附加至一个运行中的容器;
Docker Hub:
registry有两种:
docker hub:
private registry:
(1) 安装docker-registry程序包;
(2) 启动服务:
systemctl start docker-registry.service
(3) 建议使用nginx反代:使用ssl,基于basic做用户认证;
docker端使用私有仓库:
(1) 配置文件 /etc/sysconfig/docker
ADD_REGISTRY='--add-registry 172.16.100.68:5000'
INSECURE_REGISTRY='--insecure-registry 172.16.100.68:5000'
(2) push镜像
(a) tag命令:给要push到私有仓库的镜像打标签;
docker tag IMAGE_ID REGISRY_HOST:PORT/NAME[:TAG]
(b) push命令:
docker push REGISRY_HOST:PORT/NAME[:TAG]
(3) pull镜像
docker pull REGISRY_HOST:PORT/NAME[:TAG]
Docker的数据卷:
Data Volume
数据卷是供一个或多个容器使用的文件或目录,有多种特性:
可以共享于多个容器之间;
对数据卷的修改会立即生效;
对数据卷的更新与镜像无关;
数据卷会一直存在;
使用数据卷的方式:
(1) -v /MOUNT_POINT
默认映射的宿主机路径:/var/lib/docker/volumes/
(2) -v /HOST/DIR:/CONTAINER/DIR
/HOST/DIR: 宿主机路径
/CONTAINER/DIR :容器上的路径
(3) 在Dockerfile中使用VOLUME指令定义;
在容器之间共享卷:
--volumes-from=[] Mount volumes from the specified container(s)
后跟容器名;
删除卷:
docker rm -v CONTAINER_NAME
删除容器的同时删除其卷;
docker run --rm选项,表示容器关闭会被自动删除,同时删除其卷(此容器为最后一个使用此卷的容器时);
备份和恢复:
备份:
docker run --rm --volumes-from vol_container -v $(pwd):/backup busybox:latest tar cvf /backup/data.tar /data
docker的监控命令:
ps命令:
-a
images命令:
查看当前主机的镜像信息;
stats命令:
容器状态统计信息,实时监控容器的运行状态;
inspect命令:
查看镜像或容器的底层详细信息;
-f, --format
{{.key1.key2....}}
top命令:
用于查看正在运行的容器中的进程的运行状态;
port命令:
查看端口映射;
监控工具:google/cadvisor镜像
【Linux】【Services】【Docker】应用的更多相关文章
- 使用VS把ASP.NET 5的应用发布到Linux的Docker上
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:我相信未来应用程序的部署模式首选一定会是Docker,所以.NET社区的朋友也不应该忽 ...
- Linux(Manjaro) - Docker - MySQL 安装配置
Linux(Manjaro) - Docker - MySQL 安装配置 拉取mysql镜像 # 使用网易的 MySQL 镜像地址 docker pull hub.c.163.com/library/ ...
- 【Docker】(3)---linux部署Docker、Docker常用命令
linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...
- 将自己的SpringBoot应用打包发布到Linux下Docker中
目录 将自己的SpringBoot应用打包发布到Linux下Docker中 1. 环境介绍 2. 开始前的准备 2.1 开启docker远程连接 2.2 新建SpringBoot项目 3. 开始构建我 ...
- linux --- 9. docker 容器 和 rabbitmq 队列
一. docker 容器 1.docker是什么? .linux下容器技术有很多,docker是做的最杰出的一款 .docker能够支撑阿里双十一,京东618的业务,说明,性能,安全性不得差 .doc ...
- Linux通过docker安装运行酷Q--用QQ骰子君进行跑团
Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君. 限制:我个人的云计算服务器 ...
- vs2017创建netcore项目,部署到linux的docker容器里面
开发环境 1.win10下面安装VS2017 2.linux安装Ubuntu16.4系统 步骤: 第一步:linux安装docker容器 docker中文文档,里面有详解的docker介绍及讲解,建议 ...
- Linux下docker的安装
前言: 因为之前在自己的mac上直接使用HomeBrew的包管理安装的,使用brew install docker即可,这种方法简单,但最近想尝试在Linux下安装,费了一些时间,主要是启动docke ...
- 本地Docker Jenkins构建dotnet core web应用到Linux服务器 Docker上
1.准备工作 环境 本地: Windows.Docker 代码仓库:Git 服务器:Linux.Docker 前提准备 创建个有dockerfile文件的dotnet core 3 web项目 新建一 ...
- Linux 使用 docker 下搭建xunsearch 搜索引擎服务
Linux 使用 docker 下搭建 xunsearch 搜索引擎服务 安装 docker 环境(菜鸟教程有说明) 安装docker说明 下载并运行 xunsearch 的服务端:docker安装x ...
随机推荐
- SqlServer新建表操作DDL
创建新表:1,五要素 2,not null 3,默认值 4,字段注释,表名称 5,索引 6,指定约束名称 -- ------------------------------ Table structu ...
- go微服务框架Kratos笔记(七)使用jwt认证中间件
引言 Json web token (JWT) 是一个开放标准(RFC 7519),它定义了一种紧凑的.自包含的方式,特别适用于分布式站点的单点登录(SSO)场景.JWT的声明一般被用来在身份提供者和 ...
- 彻底搞懂Spring状态机原理,实现订单与物流解耦
本文节选自<设计模式就该这样学> 1 状态模式的UML类图 状态模式的UML类图如下图所示. 2 使用状态模式实现登录状态自由切换 当我们在社区阅读文章时,如果觉得文章写得很好,我们就会评 ...
- 手把手教你学Dapr - 8. 绑定
目录 手把手教你学Dapr - 1. .Net开发者的大时代 手把手教你学Dapr - 2. 必须知道的概念 手把手教你学Dapr - 3. 使用Dapr运行第一个.Net程序 手把手教你学Dapr ...
- 【Spring】(1)-- 概述
Spring框架 -- 概述 2019-07-07 22:40:42 by冲冲 1. Spring的概念 ① Spring框架的关键词:开源框架.轻量级框架.JavaEE/J2EE开发框架.企业级 ...
- 状压DP详解+题目
介绍 状压dp其实就是将状态压缩成2进制来保存 其特征就是看起来有点像搜索,每个格子的状态只有1或0 ,是另一类非常典型的动态规划 举个例子:有一个大小为n*n的农田,我们可以在任意处种田,现在来描述 ...
- Django(76)isort工具对import导入进行排序
前言 我们在开发项目时经常会进行导包有import *格式的,还有from * import *格式的,最后就会显示的很乱,那么有没有什么工具能对导包进行一键排序呢?答案是有的,使用isort工具 i ...
- 分布式多任务学习论文阅读(四):去偏lasso实现高效通信
1.难点-如何实现高效的通信 我们考虑下列的多任务优化问题: \[ \underset{\textbf{W}}{\min} \sum_{t=1}^{T} [\frac{1}{m_t}\sum_{i=1 ...
- Congratulations, FYMS-OIers!
Fuzhou Yan'an Middle School Online Judge 又一次上线啦! 真的是一波三折,主要功劳必须得属于精通网页编排.ubuntu 下如何使用 rm -rf 语句但是又能够 ...
- Boussinesq 近似及静压假定,内外模分离方法(附录A)
0.Formulation of the RANS equations [1] 不可压缩流体控制方程 \[\begin{array}{l l} \frac{\partial u}{\partial x ...