所有由csj555发布的文章

Docker学习(2)—Dockerfile和自制镜像

一、什么是Dockerfile
Dockerfile就是名为Dockerfile的文件(注意没有后缀名),文件中包含一些Linux命令,Docker通过读取文件中的命令来组件镜像

二、Dockerfile文件内容结构
Dockerfile一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,“#”为dockerfile中的注释

三、运行Dockerfile
当前目录下
docker build -t image_name:tag_name .
也可以通过-f参数来指定Dockerfile文件位置
docker build -f /path/Dockerfile .
说明:
-t:tag,指定镜像名字和标签
-f:指定文件路径

四、命令详解
1、FORM:指定基础镜像,必须为第一个命令
格式:
FROM <image>
FROM <image>:<tag>
FROM <image>@<digest>

示例:
FROM centos:7.0

2、MAINTAINER:维护者信息
格式:
MAINTAINER <name>
示例:
MAINTAINER zhangsan

3、RUN:构建镜像时执行的命令
格式:
RUN <commond>
RUN ["executable", "param1", "param2"]

示例:
RUN yum install nginx
RUN ["/bin/executable", "param1", "param2"]

继续阅读Docker学习(2)—Dockerfile和自制镜像

CentOS7升级php到7.2

由于新版wordpress不支持默认源的php5.4,所以必须升级。。。

1、删除旧版本php
yum list installed | grep php
yum remove php
yum remove php-*

2、安装第三方更新源
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

3、安装php7.2
yum install php72w mod_php72w php72w-bcmath php72w-cli php72w-common php72w-devel php72w-gd php72w-mbstring php72w-mysqlnd php72w-pdo php72w-pear php72w-process php72w-xml php72w-xmlrpc
如果是apache服务器还要安装mod_php72w

4、查看版本
php -v

docker学习(1)—基础命令

一、沙箱机制
独立性、隔离性
在里面运行病毒也没有关系

二、Docker是什么
Docker是一个开源的应用容器引擎,基于Go语言
Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的“容器”中,然后发布到任何流行的Linux机器上,
“容器”完全使用“沙箱机制”,相互之间不会有任何接口(类似iPhone的app)

三、Docker优势
启动快
占用资源少

四、镜像/容器/仓库
1、镜像:通过镜像创建容器
类似于装系统的光盘
2、容器:镜像创建容器,容器启动起来之后,就能提供包含软件的服务了
3、仓库:镜像的集中存放地
类似于github、码云
4、容器的资源使用
容器技术是和我们的宿主机共享硬件资源及操作系统,可以实现资源的动态分配。容器包含应用和其所有的依赖包,但是与其他容器共享内核。容器在宿主机操作系统中,在用户空间以分离的进程运行。
所有容器是共享宿主机的cpu、磁盘、内存。

五、镜像的操作
1、从仓库获取镜像
搜索镜像:docker search image_name
搜索结果过滤:
是否官方:docker search --filter "is-official=true" image_name
是否自动化构建:docker search --filter "is-automated=true" image_name
大于多少颗星星:docker search --filter stars=100 image_name
下载镜像:docker pull image_name
镜像被默认保存到 /var/lib/docker 目录下
2、本地镜像的查看:docker images
3、本地镜像的删除:docker rmi image_name/image_id

六、容器的操作
1、创建容器:docker run -itd --name=container_name image_name
注:同一个镜像可以创建多个容器,只要容器的名字不一样就可以
参数说明
-i:表示以交互模式运行
-d:表示后台运行容器,并返回容器ID
-t:为容器重新分配一个伪输入终端
–name:为容器指定名称(注意是杠杠)
2、查看容器(运行中):docker ps
3、查看容器(包括已停止的):docker ps -a
4、停止容器:docker stop container_name/container_id
5、启动容器:docker start container_name/container_id
6、重启容器:docker restart container_name/container_id
7、删除容器:docker rm container_name/container_id

继续阅读docker学习(1)—基础命令

oracle数据库对象-schdeule_job

dbms_scheduler包提供的计划任务,是比dbms_job更强大,更好管理。数据库为oracle 11g。

1、创建测试表
create table SCHEDULE_JOB_TEST(a date);

2、用dbms_scheduler创建job

begin
  dbms_scheduler.create_job(job_name            => 'test_schedule_job',
                            job_type            => 'PLSQL_BLOCK',
                            job_action          => 'insert into JOB_TEST values(sysdate);',
number_of_arguments => 0, start_date => to_date('10-01-2020 00:00:00', 'dd-mm-yyyy hh24:mi:ss'), repeat_interval => 'Freq=Minutely;Interval=5', end_date => null, job_class => 'DEFAULT_JOB_CLASS', enabled => FALSE, auto_drop => TRUE, comments => '测试scheduler');
end; /

3、说明
1) job_name:任务名称
2)job_type:oracle 11g支持4种,取值
‘PLSQL_BLOCK’, ‘STORED_PROCEDURE’, ‘EXECUTABLE’, or ‘CHAIN’
(plsql语句块、存储过程、外部程序、作业链条)
3) job_action:根据job_type的不同,有不同的含义
如果job_type指定的是PL/SQL块,就需要输入完整的PL/SQL代码;
如果job_type指定的是存储过程,就需要指定存储过程的名字;
如果job_type指定的外部程序,就需要输入script的名称或者操作系统的指令名;
如果job_type指定的作业链条,需要输入chain的名称;
4)number_of_arguments:job的参数
5)start_date:开始时间
6)repeat_interval:运行间隔时间
7)end_date:结束时间
8)job_class:指定任务关联的CLASS,默认值为DEFAULT_JOB_CLASS
9)enabled:指定任务是否启用
10)auto_drop:当该标志被置为TRUE时,ORACLE会在满足条件时自动删除创建的任务
任务已过期;
任务最大运行次数已达MAX_RUNS的设置值;
任务未指定REPEAT_INTERVAL参数,仅运行一次;
11)comments:注释信息

4、查询job
SELECT * FROM DBA_SCHEDULER_JOBS;

5、启用job

begin
  dbms_scheduler.enable('test_schedule_job');
end;
/

6、执行job

begin
  dbms_scheduler.run_job('test_schedule_job');
end;
/

7、停止job

begin
  dbms_scheduler.disable('test_schedule_job');
end;
/

8、删除job

begin
  dbms_scheduler.drop_job('test_schedule_job');
end;
/

参考资料:
https://blog.csdn.net/cymm_liu/article/details/22318865
https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_sched.htm#ARPLS72235
https://blog.csdn.net/xlp789/article/details/98586077

Linux chattr/lsattr命令

1、chattr命令用于设置文件或文件夹的隐藏属性
一般格式:chattr [-RVf] [-+=aAcCdDeijsStTu] files…
说明:
i:不允许对文件进行删除、改名,也不能添加和修改数据
a:只能在文件中増加数据,但是不能删除和修改数据
u:在删除时,其内容会被保存,以保证后期能够恢复

2、例子
1)增加属性
chattr +iua cron/
2)解除属性
chattr -iua cron/

3、lsattr用来查看隐藏属性
lsattr
-u–ia——-e– ./cron

参考资料:
https://www.cnblogs.com/ftl1012/p/chattr.html

CentOS7安装Docker

系统为CentOS7,内核版本要求3.10以上
 1、安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
 sudo yum install yum-utils device-mapper-persistent-data lvm2
 2、设置yum源
 --国内使用阿里云的源
 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 --国外使用官方的源
 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
 3、可以查看所有仓库中所有docker版本,并选择特定版本安装
 yum list docker-ce --showduplicates | sort -r
 4、安装docker(默认安装稳定版)
 sudo yum install docker-ce
 5、启动并加入开机启动
 systemctl enable docker
 systemctl start docker
 6、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
 docker version

CentOS7编译rocketmq-client-cpp

一、安装依赖包
yum update
yum install git
yum install make gcc gcc-c++ automake libtool cmake bzip2 bzip2-devel zlib zlib-devel

二、编译rocketmq-client-cpp客户端
cd /opt
mkdir rocketmq-client
git clone https://github.com/apache/rocketmq-client-cpp.git
cd rocketmq-client-cpp
sh build.sh

Linux curl命令

一、GET请求
curl https://www.baidu.com/s?wd=Content-Type
curl www.baidu.com/s?wd=Content-Type

加http和不加http效果一样

二、POST请求
curl http://192.168.1.179:8501/posp/6c7c96072f0d4dd7a0d6d236ee50ac4c/orderQuery -X POST -H “Content-Type:application/json;charset:utf-8;” -d “1111111111”

参数说明:
-X:指定请求的方法
-H:指定请求头(如果有多个请求头就加多个-H)
-d:指定请求的数据
-i:显示http响应的头信息
-g:关闭url通配符功能,使用特殊符号{}和[]
-v:显示数据传输过程中的详细信息

健身记录

想练健身一直有这个想法,因为身体和健康。但是实际去健身房办完卡之后完全和想像的不一样,套路太多。。。

先给个忠告:现在健身这个行业水很深,套路很多。说的不好听就是骗到一个算一个,意志力不强的他们会把你榨干。。。

继续阅读健身记录