如何清理Docker佔用的磁盤空間

刪除所有關閉的容器

docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm

刪除所有dangling鏡像(即無tag的鏡像):

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

刪除所有dangling數據卷(即無用的volume):

docker volume rm $(docker volume ls -qf dangling=true)

原文: https://hk.saowen.com/a/b901f1351c0d0450ca971a29335b89d5dd6c34f26e05a67163c7663c3b3deadb

docker 远程访问 和 界面化

  • 开启远程访问

开启远程访问, 修改配置文件并重启。

sudo vim /lib/systemd/system/docker.service

修改ExecStart行为下面内容

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock 
systemctl daemon-reload // 1,加载docker守护线程
systemctl restart docker // 2,重启docker
  • ui界面
docker run -d -p 9000:9000 --name=p1 portainer/portainer  -H tcp://192.168.0.105:2375

免sudo使用docker命令

原文简书: 免sudo使用docker命令

问题

当以普通用户身份去使用docker images时,出现以下错误:

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.26/images/json: dial unix /var/run/docker.sock: connect: permission denied

解决

创建docker组

如果还没有 docker group 就添加一个:

sudo groupadd docker

将docker加入docker组

sudo chown $USER:docker $(which docker)

将用户加入docker组

将用户加入该 group 内。然后退出并重新登录就生效啦。

sudo gpasswd -a $USER docker

重启 docker 服务

sudo service docker restart

切换当前会话到新 group 或者重启 X 会话

newgrp - docker
  • 注意:最后一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker images 执行时同样有错。

tornado负载均衡例子


upstream tornadoes { server 127.0.0.1:8000; server 127.0.0.1:8002; } server { listen 80; server_name bt.wktadmin.com; return 301 https://bt.wktadmin.com$request_uri; } server { listen 443; server_name bt.wktadmin.com; ssl_certificate /etc/letsencrypt/live/bt.wktadmin.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/bt.wktadmin.com/privkey.pem; location /static { root /home/wukt/tornado; autoindex on; } location /.well-known { root /home/wwwroot/bt.wktadmin.com; } location / { proxy_pass_header Server; proxy_set_header Host $http_host; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; # 把请求方向代理传给tornado服务器,负载均衡 proxy_pass http://tornadoes; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }

服务器配置 python3(虚拟环境) nginx mysql php

nginx mysql 环境配置

一键安装: https://lnmp.org/install.html

wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp

nginx路径为 /usr/local/nginx/, mysql路径为 /usr/local/mysql/
一键安装会默认安装phpmyadmin, 应该将 /home/wwwroot/default 中的目录改动一下

python3.6安装

参考: http://blog.51cto.com/wenguonideshou/2083301

配置好Python3.6和pip3
安装EPEL和IUS软件源

yum install epel-release -y
yum install https://centos7.iuscommunity.org/ius-release.rpm -y

安装Python3.6

yum install python36u -y

此时 运行python 为python2.7; 运行python3.6为python3.6

不需要将默认的python改为python3.6 , 否则可能会影响系统一些其他包的正常使用

虚拟环境

参考: https://segmentfault.com/a/1190000012030061

  • 安装virtualenv
pip install virtualenv
  • 安装virtualenvwrapper
pip install virtualenvwrapper
  • 环境变量设置和工作目录

新建工作目录

mkdir /root/.virtualenv

指定工作目录

vim ~/.bashrc

在.bashrc中添加

export WORKON_HOME=/root/.virtualenv
source /usr/bin/virtualenvwrapper.sh
  • source一下
source ~/.bashrc

新建python3.6虚拟环境并自动加载

  • 新建虚拟环境
mkvirtualenv -p python3.6 envname

-p 后面的参数是指定python的版本
envname 是虚拟环境的名字

  • 自动加载
vim ~/.bashrc

在.bashrc 中添加

workon envname

source 一下

source ~/.bashrc

以后连接后就会进入虚拟环境, 或者手动运行 workon envname 也可以进入虚拟环境

在虚拟环境中运行python为python3.6