docker    2019-08-01 15:59:13    43    0    0

1、容器是独立运行的一个或一组应用,及他们的运行环境。容器是Docker中的一个重要的概念。

2、docker容器的启动有三种方式
a.交互方式,基于镜像新建容器并启动
例如我们可以启动一个容器,打印出当前的日历表

  1. [root@rocketmq-nameserver4 ~]# docker run my/python:v1 cal ##my/python:v1为镜像名和标签

我们还可以通过指定参数,启动一个bash交互终端。

  1. [root@rocketmq-nameserver4 ~]# docker run -it my/python:v1 /bin/bash

参数-t让Docker分配一个伪终端并绑定在容器的标准输入上,-i让容器的标准输入保持打开。

使用docker run命令来启动容器,docker在后台运行的标准操作包括
1.检查本地是否存在指定的镜像,不存在则从公有仓库下载
2.使用镜像创建并启动容器
3.分配一个文件系统,并在只读的镜像层外面挂载一层可读可写层
4.从宿主主机配置的网桥接口中桥接一个虚拟接口道容器中去
5.从地址池分配一个ip地址给容器
6.执行用户指定的应用程序
7.执行完毕之后容器被终止

映射本地文件夹到容器

  1. docker run -it -v /c/Work/sm2:/home/sm2 lizarel/phpstudy:php71 /bin/bash

b、短暂方式,直接将一个已经终止的容器启动运行起来
可以使用docker start命令,直接将一个已经终止的容器启动运行起来。

  1. [root@rocketmq-nameserver4 ~]# docker run my/python:v1 /bin/echo hello test
  2. hello test

命令执行完,控制台会打印"hello test",container就终止了,不过并没有消失,
可以用docker ps -n 5看一下最新前5个的container,第一个就是刚刚执行过的container,可以再次执行一遍:docker start container_id

不过这次控制台看不到”hello tes

2019-08-01 15:56:21    67    0    0

安装OpenSSL

  1. wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz
  2. tar zxvf openssl-1.1.1c.tar.gz
  3. cd openssl-1.1.1c
  4. ./config shared zlib --prefix=/usr/local/ssl

一定记得加上shared选项,不然重新编译php的openssl扩展的时候,OpenSSL Library Version和OpenSSL Header Version会不一致。用--prefix指定安装路径

  1. make && make install
  2. mv /usr/bin/openssl /usr/bin/openssl.bak
  3. mv /usr/include/openssl /usr/include/openssl.bak
  4. # ① 用find / -name openssl查询一下(如果PHP采用了--with-openssl=/usr/local/openssl选项来编译,一般和这个选项的值相同),所以也有可能是这个路径
  5. # mv /usr/local/openssl /usr/local/openssl.bak
  6. ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
  7. ln -s /usr/local/ssl/include/openssl /usr/include/openssl
  8. # 用find / -name openssl查询一下,也有可能是这个路径(同① )
  9. # ln -s /usr/local/ssl/include/openssl /usr/local/openssl
  10. echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
  11. ldconfig

查看openssl版本

  1. openssl version

升级PHP的OpenSSL扩展

OpenSSL未与PHP一起编译的情况下的升级

  1. 进入PHP源码中的openssl扩展文件夹
  1. cd /root/lnmp/src/php-7.2.20/ext/openssl
  1. 准备c
2019-05-14 00:28:05    25    0    0
Twig中有两种定界符{% ... %} 和 {{ ... }} , 前一种用来执行语句,比如for循环、IF判断、过滤等操作,后一种模版中用来显示变量。 ## Twig常用用法 ### 可用符号 == != < > >= <= + - ~ * / // % ** | [] . .. and or not in is b-and b-or b-xor 部分符号的含义如下 `~`:连接两字符串,相当于 PHP 中的点号 `//`:整除 `**`:乘方,相当于 PHP 中的 ^ `b-and`、`b-or`、`b-xor`:按位与、按位或、按位异或 `-`:减法以及去除空白的简写用法,如 {{- 数据 }} => 去除左边的空白、{{ 数据 -}} => 去除右边的空白、{{- 数据 -}} => 去除两边的空白 ### 注释 ``` {# This is Twig Comme
2019-05-14 00:14:04    45    0    0
SeaweedFS是一种简单的、高度可扩展的分布式文件系统。有两个目标: 1)存储数十亿的文件! 2)查看档案快! SeaweedFS最初作为一个对象存储来有效地处理小文件。中央主服务器只管理文件卷,而不是管理中央主服务器中的所有文件元数据,它允许这些卷服务器管理文件及其元数据。这减轻了中央主服务器的并发压力,并将文件元数据传播到卷服务器,允许更快的文件访问(只需一个磁盘读取操作)。 每个文件
Nging    2019-05-08 00:58:05    104    0    0
# Nging ![Nging's logo](https://github.com/admpub/nging/blob/master/public/assets/images/nging-gear.png?raw=true) 基于 caddy 的网站服务程序,带图形化管理界面。 本软件项目不仅仅实现了一些网站服务工具,本身还是一个具有很好扩展性的通用网站后台管理系统,通过本项目,您可以很
2019-03-31 16:03:51    55    0    0
##【模板标签】 模板标签用`{{`和`}}`括起来 ##【注释】 `{{/* a comment */}}` 使用`{{/*`和`*/}}`来包含注释内容 ##【变量】 * `{{.}}` 此标签输出当前对象的值 * `{{.Admpub}}` 表示输出Struct对象中字段或方法名称为“Admpub”的值。 当“Admpub”是匿名字段时,可以访问其内部字段或方法,比如“Com”:{
2019-03-16 10:38:32    25    0    0
# 编译标签方式 例如: ```go // +build darwin freebsd netbsd openbsd ``` 在源码头部放置条件编译标签,将限制文件仅能在BSD系统进行编译 当一个文件有多个编译标签,总的限制是单个限制的逻辑与,例如: ```go // +build linux darwin // +build 386 ``` 限制只能在linux/386或darwin/386
2019-03-16 10:32:55    27    0    0

1. 系统偏好设置网络单击你要连接的网卡高级硬件--配置

2. 改为手动配置

3. 速度改为10

4. 双工改为全双工

5. 应用

2019-03-16 10:32:55    25    0    0


  1. 程序切换:cmd+tab
  2. 窗口切换:cmd+` (反引号)
  3. 页签切换:ctrl+tab(从左到右)/  ctrl+shift+tab(从右到左);cmd+shift+/右中括号(向左/右切换)
  4. 关闭程序:cmd+q
  5. 隐藏程序:cmd+h
  6. 截屏:shift+cmd+3 (全屏) / shift+cmd+4 (选取)
MacOS    2019-03-16 10:32:55    22    0    0
  • 第一步:先更新Xcode到最新版本
  • 第二步:执行xcode-select --install命令
2/4