shell dict字典
Write by lyc at 2019-9-9shell 数组、字典
shell dict字典1.shell 字典使用12345678910111213141516#必须先声明declare -A dicdic=([key1]="value1" [key2]="value2" [key3]="value3")echo ${dic["key1"]} # 打印指定key的valueecho ${!dic[*]} # 打印所有key值echo ${dic[*]} # 打印所有valuedic+=([key4]="value4") # 字典添加一个新元素#遍历key值for key in ${!dic[*]}do echo "$key : ${dic[$key]}"done
2.dict.sh ...
Ansible 安装
Write by lyc at 2019-9-5Ansible 官网Ansible 官方文档Ansible Github
一、Ansible 安装与初始配置1.Ansible 安装方式1:CentOS7 安装 Ansible
在 Fedora 或 CentOS 上安装 Ansible
12yum -y install epel-releaseyum -y install ansible
方式2:二进制安装 Ansible(推荐)
Ansible基础 - 02安装与配置
1234567891011yum install -y python-jinja2 PyYAML python-paramiko python-babel python-cryptocd /usr/local/srcwget https://releases.ansible.com/ansible/ansible-2.9.27.tar.gztar xvf ansible-2.9.27.tar.gzcd ansible-2.9.27python setup.py buildpython setup.py ins ...
docker-compose 1.25.0基本使用
Write by lyc at 2019-8-22docker-compose 官方文档docker-compose Github
1.docker-compose 安装Compose 是一个定义和管理多容器的工具,使用 Python 语言编写,负责快速的部署分布式应用。
使用Compose配置文件描述多个容器应用的架构,比如使用什么镜像、数据卷、网络、映射端口等;然后一条命令管理所有服务,比如启动、停止、重启等。
pip 安装Compose 可以通过 Python 的包管理工具 pip 进行安装, 也可以直接下载编译好的二进制文件使用, 甚至能够直接在 Docker 容器中运行。
1$ pip install docker-compose
二进制安装(推荐)12$ curl -L https://github.com/docker/compose/releases/download/1.25.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose$ chmod +x /usr/lo ...
docker仓库:Harbor v1.8.2 私有镜像仓库
Write by lyc at 2019-8-22官方网站
一、Harbor v1.8.2 仓库安装
Harbor 是由VMWare公司开源的容器镜像仓库。
Harbor 事实上是在Docker Registry上进行了响应的企业级扩展,从而获得了更加广泛的应用。
企业级特性包括:
管理用户界面
基于角色的访问控制
AD/LADP集成以及审计日志等
1.Harbor 安装依赖
docker 17.06.0-ce +
docker-compose 1.23.0+
openssl,openssl-devel lastest
2.Harbor 离线安装
harbor release 下载离线包
12345678910111213141516# 下载、解压$ cd /usr/local/src/$ wget -c https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.2.tgz$ tar xvf harbor-offline-install ...
docker镜像:Dockerfile构建镜像
Write by lyc at 2019-8-22
一、Dockerfile 文件指令Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
以下指令每条指令逐行执行
指令
描述
FROM
当前构建的镜像是基于本地的哪个镜像
MAINTAINER
镜像维护者姓名或邮箱地址
COPY
拷贝文件或目录到镜像中
ADD
ADD ./ /data/isv_server,添加当前目录的所有文件到镜像内的指定目录,用于打包代码
RUN
构建镜像时运行的shell命令
ENV
设置环境变量
USER
为RUN,CMD,ENTRYPOINT执行命令指定运行用户,USER只是帮助你切换到指定用户而已,这个用户必须是事先建立好的,否则无法切换
EXPOSE
声明容器运行的服务端口
HEALTHCHECK
容器中服务监控检查
WORKDIR
为RUN,CMD,ENTRYPOINT,COPY,ADD设置工作目录
ENTRYPOINT
运行容器时执行, ...
docker容器:数据卷与挂载
Write by lyc at 2019-8-20
docker 数据卷与挂载的三种方式docker 提供三种方式将数据从宿主机挂载到容器中:
volumes volumes数据卷,管理宿主机文件系统的一部分/var/lib/docker/volumes
bind mounts 绑定挂载,将宿主机上的任意位置的文件或者目录挂载到容器中。
tmpfs 挂载存储在主机系统的内存中,而不会写入主机的文件系统。如果不希望将数据持久存储在任何位置,可以使用tmpfs,同时避免写入容器可写层提高性能。
1.volumes 数据卷
数据卷是被设计用来持久化数据的,它的生命周期独立于容器,Docker不会在容器被删除后自动删除数据卷,并且也不存在垃圾回收这样的机制来处理没有任何容器引用的数据卷。
如果需要在删除容器的同时移除数据卷。 可以在删除容器的时候使用 docker rm -v 这个命令
管理数据卷创建的数据卷默认存储在宿主机 /var/lib/docker/volumes/[volume_name]
1234567$ docker volume create nginx-vol ...
docker镜像:镜像管理
Write by lyc at 2019-8-19
一、docker 镜像分类1.从业务逻辑上区别从业务逻辑上分类,docker 镜像分为三大类,三者是从下到上依赖的关系:
基础镜像,例如:centos, ubuntu
环境镜像,例如:python3, node, jdk, nginx
项目镜像,例如:dashboard, 业务项目,可以直接交付部署成容器的。
2.从物理实体上辨识dangling image 虚悬镜像由于新旧镜像同名,旧镜像名称被取消,从而出现仓库名、标签均为 <none> 的镜像。这类无标签镜像也被称为虚悬镜像(dangling image)
123$ docker image lsREPOSITORY TAG IMAGE ID CREATED SIZE<none> <none> ec458bf8daa7 16 hours ago 1.08GB
一般来说,虚悬 ...
docker RPM安装
Write by lyc at 2019-8-19参考博文:docker官方网站docker官方文档CentOS7 安装docker官方文档
1.安装前须知
docker-ce 版本:
CE(Community Edition: 社区版)
EE(Enterprise Edition: 企业版)
docker是基于内核研发的服务,内核版本很重要,ubuntu的高内核版本更好,意味着更强更稳定的性能,更少的BUG
2.Ubuntu 16.04 安装 docker-ce
ubuntu安装docker-ce
12345678910111213# Step 1: 安装必要的一些系统工具$ sudo apt-get update$ sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common# step 2: 安装GPG证书$ curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo ...
systemd服务管理(一):systemctl 命令管理系统服务
linux systemctl命令详解可能是全网最详细实用的systemctl讲解
systemd服务管理(一):systemctl 命令管理系统服务1.systemd 概念systemd 是系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进 程和其它进程。
CentOS 7.x 开始使用 systemd 服务来代替 daemon,原来管理系统启动和管理系统服务的相关命令全部由 systemctl 命令来代替。
systemd 对应的进程管理命令是 systemctl,兼容了service,systemctl 也会去 /etc/init.d 目录下,查看执行相关程序。
什么是 Unit ?systemd 所管理的所有系统资源都称作 Unit,通过 systemd 命令集可以方便的对这些 Unit进行管理。 unit 不仅仅包含 service 服务,还有其他类型:比如文件扩展名为 .service, 用于定义系统服务;文件扩展名为 .target,用于模拟实现运行级别。
更多的 Unit 类型不常用这里不过多赘述,或请参考博文 《可能是全网最详细实用的 ...
db迁移
Write by lyc at 2019-8-12几种redis数据导出导入方式
1.redis db 迁移脚本同实例或异实例下db copy 到 db
1234567891011121314151617181920$ cat redis_mv.sh #!/bin/shREDIS_CLI="/usr/local/redis/bin/redis-cli"SOU_IP="10.19.xx.xx"SOU_PORT=6379SOU_DB=1DST_IP="10.19.xx.xx"DST_PORT=6379DST_DB=0${REDIS_CLI} -h ${SOU_IP} -p ${SOU_PORT} -n ${SOU_DB} keys "*" | while read keydo ${REDIS_CLI} -h ${SOU_IP} -p ${SOU_PORT} -n ...