容器

Docker 容器日志清理的办法

微笑、不失礼 提交于 2019-12-17 11:53:02
问题: docker容器日志导致主机磁盘空间满了。docker logs -f container_name噼里啪啦一大堆,很占用空间,不用的日志可以清理掉了。 解决方案 : 第一种 : 脚本实现 清理脚本: #!/bin/sh # drift echo "==================== start clean docker containers logs ==========================" logs=$ ( find / var / lib / docker / containers / - name * - json . log ) for log in $logs do echo "clean logs : $log " cat / dev / null > $log done echo "==================== end clean docker containers logs ==========================" 编写定时任务: [root@drift ~]# crontab -l #Ansible: clean_logs * * 2 * * /bin/sh /server/scripts/clean_logs.sh & > /dev/null 但是,这样清理之后,随着时间的推移,容器日志会像杂草一样

数据卷(Data Volumes)

只愿长相守 提交于 2019-12-17 10:30:40
主要内容 1、Docker宿主机和容器之间文件拷贝 2、数据卷 3、数据卷容器 Docker宿主机和容器之间文件拷贝docker copy 前言: Docker 数据管理 在生产环境中使用 Docker ,往往需要对数据进行持久化,或者需要在多个容器之间进行 数据共享,这必然涉及容器的数据管理操作 容器中的管理数据主要有两种方式: 数据卷 Data Volumes 容器内数据直接映射到本地主机环境; 数据卷容器(Data Volume Containers 使用特定容器维护数据卷 当然还有最原始的copy方式,这个也是管理数据的方式,但是基本不会用到; 最原始的copy方式管理数据: 宿主机文件 copy to 容器内 docker cp 需要拷贝的文件或者目录 容器名称:容器目录 实例: 容器内 copy to 宿主机 docker cp 容器名称:容器目录 宿主机目录 数据卷 数据卷(Data Volumes) 数据卷是一个可供一个或多个容器使用的特殊目录,它将主机操作系统目录直接映射进容器, 它可以提供很多有用的特性: 1.数据卷 可以在容器之间共享和重用 2.对数据卷的修改会立马生效 3.对数据卷的更新,不会影响镜像 4.数据卷 默认会一直存在,即使容器被删除 数据卷相关操作 1.创建数据卷 docker volume create my-vol 此时,数据卷默认会放到

Docker容器管理平台Humpback进阶-私有仓库

一个人想着一个人 提交于 2019-12-17 10:23:51
Docker私有仓库 在 Docker 中,当我们执行 docker pull xxx 的时候,可能会比较好奇, docker 会去哪儿查找并下载镜像呢? 它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库,上面的镜像,大家都可以看到,也可以使用。 所以,我们也可以带上仓库地址去拉取镜像,如: docker pull registry.hub.docker.com/library/alpine ,不过要注意,这种方式下载的镜像的默认名称就会长一些。 如果要在公司中使用 Docker ,我们基本不可能把商业项目上传到公共仓库中,那如果要多个机器共享,又能怎么办呢? 正因为这种需要,所以私有仓库也就有用武之地了。 所谓私有仓库,也就是在本地(局域网)搭建的一个类似公共仓库的东西,搭建好之后,我们可以将镜像提交到私有仓库中。这样我们既能使用 Docker 来运行我们的项目镜像,也避免了商业项目暴露出去的风险。 想想如下场景: 有一个商业项目,需要部署到N台机器上(也就是分布式部署)。 1、常规做法 :生成部署文件,手动拷贝到各个服务器,调整各项配置,挨个运行。(大致耗时半小时) 2、常规做法高级版 :在每台服务器上安装FTP Server(实际上除非静态,否则不够用),或者是SVN Server(相对FTP

在腾讯CentOS7.4云服务器上安装Docker,在Docker上安装配置MySQL、Tomcat和Nginx

若如初见. 提交于 2019-12-17 10:21:35
提示:以下是在腾讯CentOS7.4云服务器上操作。 Docker的基本操作: https://www.cnblogs.com/opsprobe/p/10963098.html 一、安装Docker # 使用yum命令在线安装 yum install docker # 安装后查看Docker版本 docker -v # 启动与停止Docker systemctl命令是系统服务管理器指令,它是 service 和 chkconfig 两个命令组合。 启动docker:systemctl start docker 停止docker:systemctl stop docker 重启docker:systemctl restart docker 查看docker状态:systemctl status docker 加入开机启动:systemctl enable docker 查看docker概要信息:docker info 查看docker帮助文档:docker --help 二、部署应用 1、MySQL部署 # 拉取MySQL镜像 docker pull mysql # 查看镜像 docker images # 创建MySQL容器 docker run -di --name my-mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456

Docker 数据卷管理

早过忘川 提交于 2019-12-17 09:46:44
数据卷介绍 宿主机无法直接访问容器中的文件 容器中的文件没有持久化,导致容器删除后,文件数据也随之消失 容器之间无法直接访问相互的文件 为解决这些问题,docker加入了数据卷(volumes)机制,能很好解决上面问题,以实现: 容器与主机之间,容器与容器之间共享文件 容器中的数据持久化 将容器中的数据备份,迁移,恢复等 数据卷特点 数据卷存在宿主机的文件系统中,独立于容器,和容器的生命周期是分离的。 数据卷可以目录也可以是文件,容器可以利用数据卷与宿主机进行数据共享,实现了容器间的数据共享和交换 容器启动初始化时,如果容器使用的镜像包含了数据,这些数据会拷贝到数据卷中 容器对数据卷的修改是实时进行的 数据卷的变化不会影响镜像的更新。数据卷是独立于联合文件系统,镜像是基于联合文件系统。镜像与数据卷之间不会有相互影响 数据卷的挂载方式(三种) bind mounts:将宿主机上的一个文件或目录被挂载到容器上 volumes:由Docker创建和管理。使用docker volume命令管理 tmpfs mounts:tmpfs 是一种基于内存的临时文件系统。tmpfs mounts 数据不会存储在磁盘上 bind mounts挂载 利用docker run/create d的参数为容器进行挂载数据卷 用法: 方式一 : -v, --volume list -v 宿主机文件路径

C++(STL源码):17---序列式容器vector源码剖析

空扰寡人 提交于 2019-12-17 09:28:13
vector的使用语法可以参考文章: https://blog.csdn.net/qq_41453285/article/details/86624816 一、vector概述 总的来说: vector是 可变大小数组 特点: 支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢 元素保存在 连续的内存空间 中,因此通过下标取值非常快 在容器中间位置添加或删除元素 非常耗时 一旦vector内存不足,重新申请内存之后,和原vector相关的指针,引用,迭代器都失效。内存重分配耗时很长 通常,使用vector是最好的选择,如果没有什么特殊要求,最好使用vector 与其他容器的比较: vector 可变大小数组 。支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢 deque 双端队列 。支持快速随机访问。在头尾插入/删除速度很快 list 双向链表 。只支持双向顺序访问。在list中任何位置进行插入和删除的速度都很快 forward_list 单向链表 。只支持单向顺序访问。在链表任何位置进行插入和删除操作速度都很快 array 固定大小数组 。支持快速随机访问。不能添加或删除元素 string 与vector相似的容器 ,但专门用于保存字符。随机访问快。在尾部插入或删除速度快 二、vector定义摘要 vector定于与<stl_vector.h>头文件中 /

c++容器

怎甘沉沦 提交于 2019-12-17 07:22:43
一、deque(双队列)的简单使用 deque < int > d1 ; d1 . push_back ( 1 ) ; //在尾部放入元素 d1 . push_front ( 2 ) ; //在头部放入元素 //遍历 for ( deque < int > : : iterator it = d1 . begin ( ) ; it != d1 . end ( ) ; it ++ ) cout << * it ; cout << d1 . front ( ) << endl ; //显示头部元素 cout << d1 . back ( ) << endl ; //显示尾部元素 d1 . pop_front ( ) ; //弹出头部元素 ,相当于删除 d1 . pop_back ( ) ; //弹出尾部元素 //查找某值得下标位置 deque < int > : : iterator it = find ( d1 . begin ( ) , d1 . end ( ) , 2 ) ; if ( it != d1 . end ( ) ) { cout << distance ( d1 . begin ( ) , it ) << endl ; //distance算出it里起始位置得距离,也就是下标 } stack(栈)的简单使用 stack < int > s1 ; for ( int i

容器化技术与容器服务

雨燕双飞 提交于 2019-12-17 04:16:44
准备docker环境 首先 su root 切换到root用户 升级内核 升级内核 reboot后查看内核版本为更新的版本 用国内阿里云安装 # Set up repository sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # Use Aliyun Docker sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 查看指定版本 yum list docker-ce --showduplicates # 安装指定版本 yum install -y --setopt = obsoletes = 0 \ docker-ce-17.03.2.ce-1.el7.centos.x86_64 \ docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch # 不指定版本号 默认安装最新版 sudo yum install docker-ce 设置文件系统 vim /etc/systemd/system/docker.service.d/override.conf [ Service ] ExecStart =

C++学习笔记——STL(标准模板库)

烂漫一生 提交于 2019-12-17 03:13:14
1、首先、需要学习C++ 模板的概念 2、C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。 3、C++ 标准模板库的核心包括以下三个组件: 组件 描述 容器(Containers) 容器是用来管理某一类对象的集合。C++ 提供了各种不同类型的容器,比如 deque、list、vector、map 等。 算法(Algorithms) 算法作用于容器。它们提供了执行各种操作的方式,包括对容器内容执行初始化、排序、搜索和转换等操作。 迭代器(iterators) 迭代器用于遍历对象集合的元素。这些集合可能是容器,也可能是容器的子集。 4、这三个组件都带有丰富的预定义函数,帮助我们通过简单的方式处理复杂的任务。 来源: https://www.cnblogs.com/bsyt/p/7399257.html