博文

目前显示的是 六月, 2018的博文

docker相关

docker的安装 以Ubuntu为例,官网的安装步骤链接: https://docs.docker.com/install/linux/docker-ce/ubuntu/ docker的加速 从dockerhub上pull和push太慢了,所以使用中科大的镜像来加速: https://lug.ustc.edu.cn/wiki/mirrors/help/docker 这个网站有点小意思,可以浏览看看其他部分内容 docker使用遇到的问题 permission deny Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.37/version: dial unix /var/run/docker.sock: connect: permission denied 比如运行docker version时遇到上面问题。 解决方法:sudo chmod o+wr /var/run/docker.sock 遗留问题:下次开机还是需要执行下chmod 所以推荐另一种解决方法,也就是在官网中提到的: https://docs.docker.com/install/linux/linux-postinstall/ 通过用户组的创建和添加来搞定。 docker run时错误造成容器没有创建出来 此时查错误原因不要在run里面用-d参数,而是用-i 比如 docker run --rm -i -t -p 8085:8085 REPOSITORY-image-name:TAG https://serverfault.com/questions/596994/how-can-i-debug-a-docker-container-initialization docker删除<none>镜像 直接用 docker rmi IMAGE-ID即可 其他常用命令 docker build docker run

redis相关

安装完redis后发现开机启动,而且无法用shutdown命令关闭。其实是这样的 如果是用 apt-get 或者 yum install 安装的redis,可以直接通过下面的命令停止/启动/重启redis /etc/ init . d / redis - server stop / etc / init . d / redis - server start / etc / init . d / redis - server restart 如果是通过源码安装的redis,则可以通过redis的客户端程序 redis-cli 的 shutdown 命令来重启redis redis - cli - h 127.0 . 0.1 - p 6379 shutdown 如果上述方式都没有成功停止redis,则可以使用终极武器  kill -9 也就是说,我用apt-get的方式安装,就需要用第一个来关闭服务。 redis的一些key的命名规则 https://redis.io/topics/data-types-intro For instance "object-type:id" is a good idea, as in "user:1000". Dots or dashes are often used for multi-word fields, as in "comment:1234:reply.to" or "comment:1234:reply-to". 设置超时时间 为了防止redis使用过程中,key越来越多,导致内存在某一天爆掉。所以需要设置下超时时间。对于普通的string类型的set有超时的时长参数,但是其他诸如mset,hset和hmset是没有的。此时为了更好的维持redis的可用性,需要使用expire额外设置key的超时时长。 ➜  XXX git:(XXX) redis-cli  Could not connect to Redis at 127.0.0.1:6379: Connection refused not connected> help SET   SET key va

Git的一些记录

之前使用的Git方式太low了,下面记录一些实际使用过程中认识到的一些内容: git revert和git reset 如果提交了一个commit后想撤回这次提交那么可以用这两个方法: git revert是重新产生一个commit,而这次commit的内容是对之前commit的反向修改。 git reset是撤销之前的commit,不会在git的历史中产生任何痕迹。其中reset还分为soft、mixed和hard:soft是指保留所有的修改;mixed是指在working copy中保留修改,但是stage中不保留添加;hard是指丢弃所有的修改。一般来说用mixed就可以了。 另外在GitKraken中使用reset时是在要reset的前一次提交上右键reset git pull 和git pull --rebase 简单来说,git pull会产生merge的一个菱形痕迹,而rebase则是取消了菱形中的一个点——也就是之前产生分支时的base节点,rebase到merge后的那个点上。 详细参见: 简单对比git pull和git pull --rebase 另外和git merge --no-ff的对比: Git洁癖者使用git pull --rebase和git merge --no-ff

Linux上的后台进程管理工具Supervisor

Supervisor简介、安装、配置

Ubuntu 16.04升级Python3.5到Python3.6后带来的问题

背景介绍: Ubuntu16.04默认的Python版本是2.7(python)和3.5(python3),而我更喜欢用Python3.6,而且anaconda目前默认支持的也是3.6,所以就网上找了一个升级的方法升把Python升级到了3.6.而且设置了python3的默认为python3.6 升级3.6: https://blog.csdn.net/lzzyok/article/details/77413968 并且使用了 update-alternatives 来配置具体使用哪个python3版本 然后安装anaconda: anaconda的安装比较简单,就是在官网上下载anaconda3版本对应的sh文件,然后安装。最后将环境变量写入.bashrc中(zsh需要写入.zshrc文件中)。至此因为环境变量的改变,导致目前默认python已经变成了anaconda的Python3.6 问题Ubuntu自带的终端打不开 重启电脑后terminal打不开,在search打开XTerm后,输入 gnome-terminal 发现有“ ImportError: cannot import name '_gi' ”问题。网上找了下原因,其实拷贝之前的35版本的文件为36版本的即可。 https://blog.csdn.net/jaket5219999/article/details/78465251 indicator-sysmonitor打不开 这个软件是在任务栏中监视cpu/内存/网速等的工具。 因为也是无法使用,所以在终端中输入indicator-sysmonitor命令后看了下错误提示: ImportError: cannot import name '_psutil_linux' 其实这个问题和上面那个问题很类似。 先用find搜索了下: sudo find /usr/lib/python3 -name '_psutil*' /usr/lib/python3/dist-packages/psutil/_psutil_posix.cpython-35m-x86_64-linux-gnu.so /usr/lib/python3/dist-packa

Ubuntu 16.04安装Python3.6

参考: https://blog.csdn.net/lzzyok/article/details/77413968 中间还可以看下pip -V和pip3 -V来确认下pip的版本信息 最后不要忘了使用 update-alternatives来切换Python的版本,这样的好处是pip3也跟着换成Python3.6的了 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3. 5 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3. 6 2 sudo update-alternatives --config python3