阿水的世界。

09月 17

docker常用命令

docker,根据安装情况不同,使用apt-get安装的时候和使用snap安装的时候,对于服务的管理命令不同,对于镜像和容器的管理命令都相同。

一、启动一个已经停止的容器实例

docker start 容器ID或容器名

  1. 先查看已经暂停的容器实例信息
  2. 通过docker start 59ec 启动容器
  3. 通过docker ps 查看当前启动的容器
    具体操作如下图

docker start 还有两个参数
-i:以 交互模式启动 交互模式不懂点我
-t:以 附加进程方式启动 附加进程不懂的点我

二、停止一个正在运行的容器
1、docker stop 此方式常常被翻译为优雅的停止容器

docker stop 容器ID或容器名
参数 -t:关闭容器的限时,如果超时未能关闭则用kill强制关闭,默认值10s,这个时间用于容器的自己保存状态
docker stop -t=60 容器ID或容器名

2、docker kill

docker kill 容器ID或容器名 :直接关闭容器

由此可见stop和kill的主要区别:stop给与一定的关闭时间交由容器自己保存状态,kill直接关闭容器
想更进一步了解处理机制的可以看下面这篇文章,比较详细但是需要其他方面的
https://www.jb51.net/article/96617.htm

三、重启一个容器

docker restart 容器ID或容器名 :不管容器是否启动,直接重启容器

  1. 首先 docker ps 查看正在运行的容器信息,显示2分钟前启动运行
  2. docker restart 59ec 重启容器
  3. 再次 docker ps 查看容器信息 显示 2秒前启动运行

docker restart 参数
-t:关闭容器的限时,如果超时未能关闭则用kill强制关闭,默认值10s,这个时间用于容器的自己保存状态

四、修改容器名字

docker rename 容器原来名 要改为的名字

五、删除容器

docker rm是删除容器

六、删除镜像

docker rmi是删除镜像

七、两种进入容器的方法

我们经常需要进入到容器里去做一些工作,比如查看日志、调试、启动其他进程等。有两种方法进入容器:
1,docker attach
通过docker attach可以attach到容器启动命令的终端

2,docker exec
通过docker exec进入相同的容器,-it指定以交模式打开,执行exit退出容器,回到docker host

3,attach和exec的区别:

attach直接进入容器启动命令的终端,不会启动新的进程。
exec则是在容器中打开新的终端,并且可以 启动新的进程。
如果想直接在终端查看启动命令的输出,用attach,其他情况使用exec。
如果只是为了查看启动命令的输出,可以使用docker logs命令。

八、docker启动命令,docker重启命令,docker关闭命令
这里分两种情况,ubuntu里 如果使用snap命令安装的docker,则需要在snap中对docker进行管理。以下部分是直接安装的docker的命令情况:
启动 systemctl start docker
守护进程重启 sudo systemctl daemon-reload
重启docker服务 systemctl restart docker
重启docker服务 sudo service docker restart
关闭docker服务 service docker stop
关闭docker服务 systemctl stop docker

在snap中管理docker服务:
启动docker:sudo snap start docker
重启docker:sudo snap restart docker
关闭docker:sudo snap stop docker

九、提交容器

docker commit 容器id REPOSITORY:TAG

内容有部分修改,增加了snap的内容,其余引用自:

https://www.cnblogs.com/guohu/p/13111498.html
09月 17

anythingllm使用docker启动、关闭、重启的方式

sudo  docker run -d -p 3001:3001  --cap-add SYS_ADMIN  -v ${STORAGE_LOCATION}:/app/server/storage  -v ${STORAGE_LOCATION}/.env:/app/server/.env  -e STORAGE_DIR="/app/server/storage"  dockerpull.com/mintplexlabs/anythingllm:latest

anythingllm使用的是dockerpull.com下的镜像。

如果在anythingllm启动后,无法访问本地ollama服务,则需要将ollama的监听地址,从127.0.0.1修改为0.0.0.0,这样就是监听所有ip地址,而不限制只能在本地使用了。

  1. 重启docker容器

docker restart 容器ID或容器名

2.优雅的关闭docker容器

docker stop 容器ID或容器名

09月 06

正则表达式一些表述方法

/(width|height|style|class|x:str)="([^"]*)"/g

用于匹配html中所有的width|height|style|class|x:str这些字段,“|”用于分隔各个属性值
/g表示循环匹配

^(.*\/)

用于匹配url中除了最后的文件名以外的其余部分(最后一个/之前的部分),比如:http://xxx.xxx.website.cn/upload/aabbcc.jpg,匹配结果是http://xxx.xxx.website.cn/upload/

[^\/]*$

和上一个相反,用于匹配用于匹配url中最后的文件名(最后一个/之后的部分),比如:http://xxx.xxx.website.cn/upload/aabbcc.jpg,匹配结果是aabbcc.jpg

/<style\s{0,}[^>]*>([\s\S]*?)<\/style>/gi

用于匹配这个标签的正则规则,style可以带有属性,比如带有type="text/css"这样的属性。

01月 16

修复windows的多系统启动项

我的电脑上安了2个操作系统,旧的是win7,新的是win10。刚装完系统,win10里盘符错乱,想着把两个系统的盘符统一一下,就从磁盘管理中,把系统的各个盘符重新调整了一下。然后,系统进不去了,我的启动项都丢了~~只能默认进入win7

用了easybcd,新增了win10的启动项,还是进不去,提示验证数字证书错误???

继续搜相关方法,找到一个比较靠谱的,微软官方提供的方法,用管理员模式打开cmd工具,然后找到win10的安装目录,比如z:\windows,执行命令 bcdboot z:\windows,提示复制文件成功后,就可以重启电脑了。

重启后,启动菜单恢复正常了。(^o^)/~

ps:附上微软提供的方法地址:修复双启动选项电脑上的启动菜单

12月 04

typecho升级1.2.1后出现Class 'Views_Plugin' not found 问题处理

前段时间把网站的typecho系统升级了一下,从1.1.7(好像是这个版本吧(⊙_⊙)?)升级到1.2.1,然后就出现了Class 'Views_Plugin' not found错误。

只要是点击栏目、 标签等,都会弹出这个错误。莫名其妙的问题O.o?

在typecho官方论坛里寻求解决办法,看的人挺多,就是没人回答╮(╯▽╰)╭自己动手,丰衣足食!

查了官方的升级步骤文档,里边最后提到:

如果在升级完成后,进入首页出现 500 或其他错误,请进入 admin页面禁用所有的插件,并启用默认模板。如果正常,请逐步排查插件或模板存在的问题。

好吧,先切换到默认模板,一试,好了O.o!!!

明白了,是模板的问题。我用的是Boot-Sematic Theme这款模板,挨个打开查看。在archive.php文件中找到下边这句话:

<?php Views_Plugin::theViews('有 ', ' 次点击'); ?>

这句应该是输出文章的点击量的,似乎新版本里删了这个函数?

删除这句,重新试了一下,网站正常了。

故障解决完毕。