2019年12月6日星期五

Docker删除镜像和容器


1、删除容器
1)首先需要停止所有的容器
docker stop $(docker ps -a -q)
2)删除所有的容器(只删除单个时把后面的变量改为image id即可)
docker rm $(docker ps -a -q)
2、删除镜像
1)查看host中的镜像
docker images
2)删除指定id的镜像
docker rmi
想要删除untagged images,也就是那些id为的image的话可以用
docker rmi $(docker images | grep "^" | awk "{print $3}")
3)删除全部的images
docker rmi $(docker images -q)
3、当要删除的iamges和其他的镜像有关联而无法删除时
可通过 -f 参数强制删除  docker rmi -f $(dockr images -q)

2019年12月3日星期二

DLNA分享服务设置(Linux minidlna版)


DLNA分享服务设置(Linux minidlna版)

目录:

1 背景
2 安装 DLNA Server
3 限制存取设备
3.1 ebtables设置
3.2 iptables设置
4 附录
4.1 ebtables基本命令
4.1.1 查看rules列表
4.1.2 新建/删除链
4.2 新建规则
5 参考

1 背景
DLNA 是 Digital Living Network Alliance 的缩写, 它是由 Sony 为首的多家厂商所组成的联盟, 并且制定出一套这用于数字媒体分享的协议.

最近的家用数字产品, 比如说手机, 平板电脑, 数字电视等几乎都标榜它们是符合 DLNA 认证的多媒体设备.

只要家中的数码设备连接到同一个区域网路, 使用 DLNA 就可以很方便地把数字媒体分享给不同的播放设备. 比如说把手机中的影片直接送到电视上播放, 或是把照片送进印表机中列印等等.

由于可以透过无线网路进行资料传输, 不需要接上传输线也不需要额外的设定动作, 相当方便.

这篇文章会间单介绍如何在 Linux 上架设 DLNA server 来分享媒体, 同时使用 ebtables 来限制使用设备.

2 安装 DLNA Server
首先是安装 DLNA server, 我使用的是 minidlna 这个很间单的软件. 在 Debian 上只要用apt 就可以安装了.

sudo apt-get install minidlna
接著, 编辑 /etc/minidlna.conf 来设定分享目录:

media_dir=/srv/media
第一行会把 /srv/media 底下所有的媒体文件(照片, 影片, 音乐)分享出去. 如果想要限制媒体的种类, 可以在目录前加上 V(影片), A(声音)或 P(照片)来指定种类:

media_dir=V,/srv/video
另外也别忘了指定 port 以及 server 的名称:

port=8200
model_name=My DLNA Server
然后更新 cache

sudo service minidlna force-reload
这么一来, 支持 DLNA 的播放程序如 media player 就可以直接浏览 server 上的媒体, 并且串流播放. 当然, 平板或手机也能轻易播放分享出来的媒体.

Sony 的手机和平板多半都有附上 DLNA browser, App 名称是「已连线的设备」, 打开后便会自动搜寻区域网路中的 DLNA server. 如果你的手机或平板没有内建这类软件, 可以安装 MediaHouse UPnP/DLNA Browser. 需要注意的是, 这些 DLNA browser 的功能比较类似文件管理器, 点选媒体后它们会启动系统中的媒体播放程序 (比如说 mx player 或 poweramp). 至于 iOS 的用护则有 AirPlayer 或是 media:connect 等选择, 它们多半本身就具备了媒体播放功能.

3 限制存取设备
3.1 ebtables设置
DLNA 是设计给家庭环境使用, 它假设能够连上家用区域网路的设备都通过了某种程度的认证 (比如说拥有无线网路密码), 因此它没有认证与权限相关的设定, 所有能连上区域网路的设备都可以播放 server 上的媒体.

尽管大部份的家庭环境是这样没错, 但有时候我们还是不希望把媒体分享给所有网路上的设备, 比如说租房子时使用的网路是与其它房客共享的, 若不想把照片影片一起分享给不认识的房客, 该怎麽做呢?

常见的解法是使用 MAC address 来作为区分. 一般来说在区域网路上的设备都有一个 MAC address, 我们可以设定只有登记在白名单上的设备才能浏览媒体. 在 Linux 上, 利用 MAC address 来过滤封包的程序叫作 ebtables.

sudo apt-get install ebtables
ebtables 用起来很像 iptables, 不同的地方在于他是作用在较低阶的链路层(link layer). 首先我们把 DLNA 相关封包抽出来, 并且设定它的预设处理方式为丢弃封包:

sudo ebtables -N dlna -P DROP
sudo ebtables -A INPUT -p IPv4 --ip-proto tcp --ip-destination-port 8200 -j dlna
接著把设备的 MAC address 加进 dlna chain 中, 并且设定为接受封包:

sudo ebtables -A dlna -s XX:XX:XX:XX:XX:XX -j ACCEPT
这么一来就只有已登记 MAC address 的设备可以看到 server 上的媒体了. 不过这并不算是非常安全的保护措施, 因此较为敏感的资料, 建议还是不要使用 DLNA 分享.

3.2 iptables设置
上面ebtables设置为转载的方法, 我试了, 不起作用, 网上说ebtables需要是bridge模式, 而非bridge模式不起作用. 后来改为iptables, 起到了效果.

sudo iptables -A INPUT -p tcp --dport 8200 -m mac --mac-source 00:22:44:66:88:aa -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8200 -j DROP
注意上面两句的顺序, 需要先设置允许, 后设置DROP, 否则如果DROP在前, ACCEPT在后, 则会先执行DROP, 后面的ACCEPT就没有效果了.

如果之后还想再加入允许, 则可以用-I, 即insert, 插入允许.

sudo iptables -I INPUT 1 -p tcp --dport 8200 -m mac --mac-source 00:22:44:66:88:bb -j ACCEPT
4 附录
4.1 ebtables基本命令
4.1.1 查看rules列表
ebtables -L
ebtables -L –Lc , 查看各rule的匹配次数以及字节数
4.1.2 新建/删除链
ebtables -N
ebtables -X
4.2 新建规则
ebtables -A [ rules ]
[rules]有几种:

-s 源MAC
-d 目标MAC
-i 入接口
-o 出接口
5 参考
http://electronic-blue.herokuapp.com/blog/2013/01/sharing-digital-media-by-dlna-on-linux/

http://www.cnblogs.com/peteryj/archive/2011/07/24/2115602.html


转自:http://www.mikewootc.com/wiki/sw_develop/multimedia/dlna_server_linux_minidlna.html#%E8%83%8C%E6%99%AF 并有所修改.

2019年11月29日星期五

Linux samba服务器快速安装配置


(1)更新系统及当前软件。
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

(2)安装samba服务器。
sudo apt-get install samba samba-common

*****注意上级目录权限*******
(3)创建一个用于分享的samba目录(依据实际情况执行)
sudo mkdir /mnt/Sync

(4)给创建的这个目录设置权限(依据实际情况执行)
sudo chmod 777 /mnt/Sync

(5)添加用户(下面的 admin 是本次的用户名,再设置samba的密码)。
先使用useradd 命令创建samba用户admin:
useradd admin

(6)设置samba用户admin的密码:
sudo smbpasswd -a admin

(7)配置samba的配置文件。
sudo vim /etc/samba/smb.conf
在配置文件smb.conf的最后添加下面的内容:

[admin]
comment = share folder
browseable = yes
path = /mnt
create mask = 0700
directory mask = 0700
valid users = admin
force user = admin
force group = admin
public = yes
available = yes
writable = yes

上面配置中 valid users =admin 中的 admin 为用户名。

(8)重启samba服务器使配置生效。
sudo service smbd restart

(9)自定义服务端口。
    编辑配置文件
   sudo vim /etc/samba/smb.conf
   在配置文件smb.conf中前面添加下面的内容:
   smb ports = 455
   重启samba服务器使配置生效
   sudo systemctl restart smbd.service

修改Windows客户端映射端口
在Windows修改端口无法直接修改配置文件实现,因为SMB服务本身就是为了Windows量身定做的,其默认指定了445端口。

管理员身份运行cmd控制台依次执行如下命令

sc config LanmanServer start= disabled 
net stop LanmanServer
sc config iphlpsvc start= auto #启动端口转发
netsh interface portproxy add v4tov4 listenport=445 connectaddress=公网IP connectport=端口 #配置端口转发
此时通过访问本地\\127.0.0.1就可以访问服务端配置的共享目录了

Docker安装管理界面portainer

1.拉取jenkins镜像


  确保虚拟机有docker环境后开始安装,
docker pull portainer/portainer

2.启动容器

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /home/docker/portainer:/data --name portainer --restart=always portainer/portainer
  到此,portainer安装成功!是不是很简单呢
  访问http://ip地址:9000,记得开放端口哦!


其他使用:
清理所有停止的容器

docker container prune

清理所有不用数据(停止的容器,不使用的volume,不使用的networks,悬挂的镜像)

docker system prune -a

清理所有停止的容器

docker container prune 

debian安装docker-ce


  一、安装docker
下面是使用阿里云的源进行安装的方法,如果在其他系统上安装,比如ubuntu,把debian换成ubuntu就可以了。
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
# docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]


  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16

  • 17

  • 18


二、使用国内镜像
修改/etc/docker/daemon.json,添加如下配置:
{
"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]
}

  • 1

  • 2

  • 3


然后执行命令systemctl restart docker重启docker
三、测试
1.输出version:
docker --version

  • 1


在这里插入图片描述
2.运行hello-world镜像
docker run hello-world

  • 1


在这里插入图片描述
四、参考资料

2019年10月8日星期二

旁路由的简单使用配置


软路由端设置:
1-主要设置路径》网络》接口》LAN
2-设置软路由LAN口IP为同局域网不与路由冲突的地址,如:192.168.0.254
3-设置网关地址为主路由的地址,如:192.168.0.1
4-设置DNS服务器地址为主路由的地址,如:192.168.0.1
5-DHCP 服务器设置中 》取消勾选“忽略此接口”及禁用IPV6
6-LAN 口设置中 》物理设置 》取消勾选“桥接接口”

设备端设置:
设置静态IP,如192.168.0.10
网关设置为旁路由的IP, 如192.168.0.254
DNS设置为主路由的IP,如192.168.0.1

2019年10月2日星期三

蒲公英智能组网客户端使用

1.安装

X86_64架构:
wget "https://pgy.oray.com/dl/42/download?os=Ubuntu%20Linux(X86_64)" -O PgyVisitor_Ubuntu_2.3.0_x86_64.deb
arm 64架构:
wget "https://pgy.oray.com/dl/58/download?os=Raspberry%20Pi%2064位" -O PgyVPN_Raspbian_2.2.1_arm64_systemd.deb
下载安装包后,通过cd命令进入对应安装包所在文件目录,输入下面的命令进行安装(以下操作以64位系统为例,版本号为2.3.0)。
X86_64软件包:dpkg -i PgyVisitor_Ubuntu_2.3.0_x86_64.deb
Arm_64软件包:dpkg -i PgyVPN_Raspbian_2.2.1_arm64_systemd.deb

2.运行

1、执行 screen -S pgyvpn 创建窗口以screen模式运行便于管理,恢复窗口执行 screen -r pgyvpn

2、任意路径下执行“pgyvpn”调出交互界面,按照界面指示输入:
     ①、贝锐官网帐号或UID;
     ②、对应贝锐官网帐号或UID的密码;
     ③、是否自动登录(默认为y)。

3.功能指令

登录成功后,键入对应序号可查询使用对应信息和功能。

4.查看访问者日志文件

蒲公英访问者日志文件路径:/var/log/oray/pgyvpn

5.卸载蒲公英访问者

可在任意路径输入下方命令进行卸载蒲公英访问者服务。
命令:dpkg -r pgyvpn