Docker 容器内部时间比宿主机时间晚 8 小时

Docker 容器内部时间比宿主机时间晚 8 小时,解决方法如下。

第一种方法

在创建容器时,通过 -v 参数加入时间挂载,使用宿主机时间:

docker run -d --name myphp -v /etc/localtime:/etc/localtime:ro -p 9000:9000  yangrz/php-fpm

 第二种方法

如果不想重新创建容器,则在进入容器后替换默认时区文件,也可以解决。

先进入容器:

docker exec -it myphp /bin/bash

然后在容器中执行命令: 

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

 

分类至 Docker
0条评论

Linux 指定用户的 UID,指定群组的 GID

指定用户的 UID

创建用户时指定 UID,可以用 -u 参数,如指定 UID 为 1000:

useradd www -g www -u 1000

如果用户已经存在,使用 usermod 命令修改 UID,如:

usermod www -u 1000

 指定群组的 GID

 创建群组时指定 GID,可以用 -g 参数,如指定 GID 为 1000:

groupadd www -g 1000

如果群组已经存在,使用 groupmod 命令修改 GID,如:

groupmod www -g 1000
分类至 Linux
0条评论

No Newline at End of File

本文为转载,原文是英文,不翻译也能看懂。文章大意:我们经常看到“No newline at end of file”的提示,实际上这是 Unix 系统历史遗留下来的一个 C 语言约定:所有的非空源代码文件应该以新行 \n 作为结束符。

分类至 杂项
0条评论

回车和换行

今天,我总算搞清楚回车(carriage return)和换行(line feed)这两个概念的来历和区别了。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做回车,告诉打字机把打印头定位在左边界;另一个叫做换行,告诉打字机把纸向下移一行。

分类至 杂项
0条评论

win10 系统 docker 容器里 vi 打开文件时出现很多框框

Windows 系统下管理 docker 容器,我们一般用 PowerShell 或 Cmd,要进入 php 容器输入 docker exec -it php-fpm /bin/bash 即可。在容器中使用 vi 编辑文件时,如果开启了语法高亮功能,会出现很多框框。这些框框并不是中文乱码,而是因为 Windows 系统的 PowerShell 或 Cmd 终端无法正常解析颜色代码造成的。 Windows 系统上安装Git,会附带一个winpty.exe 的程序,用它可以正常解析颜色代码...

分类至 Docker
0条评论

MySQL 索引选择性

既然索引可以加快查询速度,那么是不是只要是查询语句需要,就建上索引?答案是否定的。因为索引虽然加快了查询速度,但索引也是有代价的:索引文件本身要消耗存储空间,同时索引会加重插入、删除和修改记录时的负担,另外,MySQL在运行时也要消耗资源维护索引,因此索引并不是越多越好。一般两种情况下不建议建索引...

分类至 MySQL
0条评论

sql 语句添加 force index() 强制使用指定索引

使用 sql 语句查询数据的时候,如果表里有好几个索引,mysql 优化器会自己判断使用哪个索引进行搜索。但是,where 条件比较复杂的时候,优化器使用的索引就不一定是最优索引了。

例如,最近有个需求,查询 4 月份每个商家的微信、支付宝营业额,sql 语句如下...

 

分类至 MySQL
0条评论

Lumen 框架前后台认证(多用户认证)

Lumen 框架默认只有一种角色认证(单表),但是通常我们会把后台管理员与前台用户设计成两个不同的表,这个时候就得改造一下代码了。

假设后台管理员和前台用户对应 Model 分别为 App\Models\AdminApp\Models\User,作如下修改...

分类至 PHP
0条评论