1.Docker源码安装附内网镜像安装演示
2.安全干货DockerCVE-2018-6552
3.DockerMySQL 源码构建 Docker 镜像(基于 ARM 64 架构)
4.极空间NAS终于可以远程访问Docker,源码还能给全家设备内网穿透!源码
5.Docker 安装及镜像管理
Docker源码安装附内网镜像安装演示
系统版本要求源码包下载
官网下载地址(download.docker.com/lin...)
我这里已docker-...tgz该版本做演示
1.下载源码包文件到本地
2.通过远程连接工具(xShell、源码SecureCRT等将源码包文件上载到服务器自定义目录)
3.解压文件
4.配置docker为service服务
5.添加可执行权限
注:如遇到启动不成功可通过状态查询、源码/var/log/messages/运行日志或直接使用dockerd命令查看错误信息,源码如还解决不了建议服务器重启一下在运行docker启动命令
6.配置镜像加速
7.检查安装版本内网下载镜像
注:使用docker pull拉取镜像的源码ucosii源码下载时候需要网络,但是源码项目部署一般都是在内网。内网访问不了外网,源码所以需要在外网环境下把需要的源码镜像拉取下来打包,然后拷贝到内网,源码载入到内网的源码docker
1.在外网机器上拉取mysql镜像,可以看到外网的源码docker已经拉取了镜像。
2.将镜像打包成tar压缩包
3.将打包好的源码mysql镜像包通过远程工具下载到本地
4.拷贝到内网linux服务器并载入docker
docker基础命令使用(扩展)下载镜像:(hub.docker.com/search/官网镜像地址)
docker pull [IMAGE_NAME]:[TAG] #命令格式
docker pull mysql:8.0 #下载mysql8.0镜像(不指定默认下载最新版本)
查看当前镜像版本
docker -v #查看当前安装版本
docker version #查看版本信息
docker info #查看系统信息
docker images #查看当前镜像
docker search 镜像名 #搜索镜像
镜像、容器删除
docker rm 容器ID
docker rm 容器名字
docker rmi 镜像ID
docker rmi 镜像名
docker rmi -f 镜像ID #强制删除
创建网络及数据卷
docker volume create +数据卷名称
docker volume list #查看当前数据卷信息
docker network create -d bridge +网络名称
docker network ls #查看当前网络
docker inspect containername +id #查看容器的源码hash值
启动、关闭容器
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2) #关闭所有容器
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2) #开启所有容器
杂
docker inspect 容器ID (使用该命令重点关注容器ip) #查看容器/镜像元数据
docker exec #在运行的源码容器中执行命令
docker exec -it 容器ID /bin/bash #以交互模式开启伪终端
安全干货DockerCVE--
cve--
此漏洞未有公开分析,唯一的参考是长亭在滴滴安全大会的PPT,信息简略,仅在完成利用后发现一些未注意到的细节。漏洞基于条件竞争,主要影响未修复版本的is_same_as函数,通过特殊方法使其不执行正常逻辑,继续往下执行。
源码分析
展示了is_same_as源码,以及修复前后版本的对比。apport源码位于2..9版本,追踪源码找到更改过的pid进入get_pid_info,贴出源码。
apport为ubuntu程序,用于处理程序崩溃信息,配置文件如/sys/kernel/core_pattern影响生成core文件的命名方式。核心是确定生成的core文件路径,以及内核coredump.c传入的thinkphp 家装源码参数。
核心配置文件为/sys/kernel/core_uses_pid,值为1代表生成的core文件带.pid,0代表不带。同时,/proc/sys/kernel/pid_max限制最大pid值,影响核心循环计数。logrotate配置用于日志管理。
在Ubuntu .中,apport与漏洞版本差异大,选择替换整个apport文件。遇到程序不运行问题,可能涉及core_pattern配置。通过日志分析发现入参多了一个%E,删去后程序恢复正常。
逃逸步骤
利用条件竞争绕过分支,首先kill对应pid,然后通过大量fork等待创建进程,占用pid。利用docker内进程路径控制物理机中core生成路径。生成core前检查ulimit -c,限制core文件大小,设置ulimit -c unlimited。
逃逸第二步
通过logrotate定时任务触发执行core中的指令,将想运行的指令写成字符串形式,保存在core文件中。使用logrotate格式编写命令,确保成功执行。手动触发logrotate命令,监听对应端口以获取返回结果。
DockerMySQL 源码构建 Docker 镜像(基于 ARM 架构)
基于 ARM 架构,为避免MySQL版本变化带来的oscache框架源码解析额外成本,本文将指导你如何从头构建MySQL 5.7.的Docker镜像。首先,我们从官方镜像的Dockerfile入手,但官方仅提供MySQL 8.0以上版本的ARM镜像,因此需要采取特殊步骤。 步骤一,使用dfimage获取MySQL 5.7.的原始Dockerfile,注意其原文件中通过yum安装的逻辑不适用于ARM,因为官方yum源缺少该版本的ARM rpm。所以,你需要:在ARM环境中安装必要的依赖
下载源码并安装
修改源码配置以适应ARM架构
编译源码生成rpm文件,结果存放在/root/rpmbuild/RPMS/aarch目录
构建镜像的Dockerfile、docker-entrypoint.sh脚本(解决Kylin V兼容性问题,会在后续文章详细说明)以及my.cnf文件是构建过程中的关键组件。虽然原Dockerfile需要调整以消除EOF块的报错,但整个过程需要细心处理和定制化以适应ARM平台。极空间NAS终于可以远程访问Docker,还能给全家设备内网穿透!
大家好,我是噩梦飘雷~
自从去年入手了极空间新Z4,使用至今也有快一年的时间了。
极空间在NAS系统和APP的人性化、易用程度方面做得极佳,无论在PC端还是移动端,只需要一个APP就能完整使用NAS的所有功能,并且远程使用极为方便,所以家里老人和媳妇也能轻松学会用法,好评如潮。
不过有一说一,之前在使用这台新Z4时,还是租车网php源码有些遗憾的。
极空间虽然给NAS标配了非常方便的远程访问功能,我们不需要自己折腾内网穿透之类的骚操作就能轻松使用,但这只是针对极空间系统的官方功能而言。在之前,由于极空间的底层权限设置,个人最喜欢的Zerotier One无法安装使用。如果自己折腾Docker的话,也无法通过官方的中转服务来远程管理,只能通过自行折腾Tailscale或者DDNS之类的方式来解决。
不过前几天在电脑上用极空间客户端的时候,无意中发现系统通知Z4已经更新了新版本固件,其中有一条是“上线远程访问,外网控制Docker镜像”,这就让我一下子来了兴趣。
因为习惯了使用Docker版的Transmission来下载PT资源和保种,所以期待这个远程访问Docker的功能已经很久了,相信也有不少喜欢用Docker的老哥和我有一样的需求。
经过尝试,这次极空间听取用户意见后解决了这个大痛点,用着确实方便,所以就赶紧写篇笔记同大家分享一下具体的使用方法。
另外,根据@值友 老哥的经验,还可以用这个远程访问功能管理路由器之类的家中其他设备,连DDNS的麻烦都省去了,在此一并为大家介绍操作方法。
在将极空间NAS更新到最新版本后,可以在极空间NAS的客户端中找到远程访问功能的图标,点击运行即可:
会提示一个远程访问免责声明,无视即可,直接点确定:
远程访问功能的ucosii官方源码下载界面倒是挺简单的,打开之后我们直接选“添加新的连接”即可:
然后在这里填入相关信息。备注里填写入这个连接的名字就好,端口+URL部分,填入我们使用的Docker的相关端口号就行。
比如我用的Docker版Transmission的端口号是,在这里就这样填,非常简单:
点击保存后,即可看到刚才我们建立的新连接。
在使用时候,只需要直接点击这个连接,即可跳转出一个类似内置浏览器的窗口,直接可以访问到我们的Docker Transmission了,特别方便。
同样,再来尝试将安装的Docker版内网测速软件SpeedTest给加入进来:
使用起来同样极为方便:
这里我们需要使用iii大佬开发的“Lucky”的工具,可以替代socat来转发家中局域网内的ipv4设备地址,并进行反向代理,感谢大佬的无私奉献!源代码在这里:
github.com/iii/lucky#...
安装教程如下:
根据iii老哥的说明,lucky这个Docker在不挂载主机目录时,删除容器时会同步删除配置信息。
所以为了避免以后删除后需要重新配置,接下来我们随意在极空间中新建一个文件夹,用来将保存这个容器的本地配置文件。
然后在极空间客户端中的Docker——镜像——仓库中搜索gdy/lucky。
点击“下载”按钮后,保持默认的latest版本不用更改,继续点击”下载“。
这时才发现原来极空间已经可以显示拉取的进度了,着实用心了。
下载完成后,就可以在本地镜像中找到我们刚才拉取的Docker了,接下来我们直接双击打开。
在文件夹路径中,用我们刚才新建的文件夹来装载Docker配置文件:
在网络选项中,将驱动更改为HOST模式,这样Docker容器相当于是宿主机中的一个进程,而不是一个独立的机器,其中所运行的程序同时也会占用宿主机的对应端口。
接下来,我们就可以在网页中输入NASIP地址+端口号进入lucky进行设置工作。当然如果此时你不在家的话,也同样可以通过极空间的远程访问功能给它新建一个连接:
连接lucky后,首先需要登录,默认管理账号和密码都是。
登录后界面如下,功能很多,大家可以多研究研究。
由于我们只是想转发家庭局域网中其他设备的管理端口,所以主要应用到端口转发的相关功能。在这里依次点击菜单——端口转发——转发规则列表,最后点击”添加转发规则”。
接下来说一下各个需要填入的参数:
点击添加后,即可看到转发规则已经生成了。
此时如果在家中的话,我们尝试一下,用极空间的局域网地址+端口能否打开软路由网关的管理页面。
如图所示,我的极空间局域网IP地址是...:
然后在浏览器中用极空间IP+端口号,能顺利访问软路由的后台管理页面:
输入账号密码后也能正常进行操作:
确认lucky转发规则生效后,我们就可以回到极空间的“远程管理”功能中,为路由器创建一个新连接:
点击这个新创建的连接,既可以在极空间客户端内,访问路由器的管理页面了:
再试一下,用极空间来查看和管理家中在跑的京东云无线宝也没问题,这下是真的方便很多了:
本文中的相关操作会涉及到Docker,在极空间NAS产品线中,能使用Docker的版本包括4G内存版的Z2S,以及新Z4、Z4S和Z4S旗舰版。
如果您是非NAS老鸟的新人用户,只是想买台NAS给家人保存资料和照片视频,顺便用极影视看看**电视剧的话,个人感觉入手双盘位的Z2S 4G版就足够了。Rockchip RK CPU性能很棒,4K播放没啥压力,还能学着玩一玩Docker,关键是价格还低,很适合入门使用。
我自己在用的这款新Z4的处理器是X平台4核心4线程的J,用了快一年后感觉对我来说性能完全溢出了,没遇到过性能瓶颈,而且标配了两个2.5G网口,传输速度更给力,我自己和家人都用得很满意。而且这一款现在价格也比发售时降了不少,个人强烈推荐。
不过美中不足的是,极空间新Z4只有一条M.2固态硬盘插槽,对插槽数量和处理器有更高要求的同学可以考虑入手Z4S和Z4S旗舰版。
其中极空间Z4S采用的是N处理器,而Z4S旗舰版使用的是更强的N处理器,性能更强,能通过两条M.2固态硬盘插槽启用读写双缓存,还有 HDMI2.0 接口可以直接输出画面给电视,属于一步到位的选择了。
另外,极空间的X处理器机型,包括Z4、Z4S、Z4S旗舰版等都全系采用了2个2.5G网口,能发挥机械硬盘的全部读写实力,传输数据更加快速,可以和现在基本标配了2.5G网口的电脑主板完美配合。
不过一般我们家里路由器的2.5G网口数量都比较有限,硬路由也就配备1-2个而已,软路由一般也不过4-5个。如果遇到家里2.5G设备多、路由器2.5G网口不够用的情况,就可以考虑增加2.5G交换机了。
正好最近2.5G交换机的硬件方案有了突破,不少厂商都推出的新型号产品,不止售价大幅度下降,而且更关键的是,交换机的发热更少、温度更低,已经很适合家庭长期使用了。
我家使用2.5G网口的设备比较多,所以自己也趁这机会入手了一台兮克的SKS-8GPY1XF,这台交换机2.5G交换机同时拥有8个2.5G电口+1个G光口(SFP+),其中光口还支持2.5G猫棒,售价却只要元,这价格放在半年前想都不敢想,属实太香了。
由于采用了被动散热设计,兮克SKS这台8口2.5G交换机用起来非常安静,但是实测运行温度并不高,而且使用一段之后稳定也很棒,有需要的朋友可以放心入手。
极空间这次新开发的远程访问功能用起来真的方便,可以通过简单的操作就可以轻松访问NAS中的Docker应用,对喜欢折腾Docker的用户来说极其实用。
另外,只要家里有一台极空间NAS,通过iii大佬开发的gdy/lucky这个Docker的帮助,就能为整个家庭局域网中的设备都进行内网穿透。这样即使我们人不在家,也能随意管理和配置家里的各个网络设备,充分利用了极空间提供了中转带宽,免去了折腾DDNS和其他内网穿透工具的麻烦和费用,这一点个人感觉超级方便。
好了,以上就是今天为大家分享的内容了。如果本文对您有帮助的话,期待大家给个关注点赞收藏三连,您的支持就是我持续更新的最大动力!
Docker 安装及镜像管理
Docker 安装及镜像管理
安装Docker首先需要下载docker源,通常我们会选择修改源地址以从清华源加速下载,以提高下载速度,比如使用阿里云镜像加速。Docker由docker client和docker server组成,可以通过命令行工具如`docker version`和`docker info`查看系统信息。 初体验Docker,如安装Nginx,通常会从官网下载源码,进行编译安装,并配置启动。为解决镜像拉取速度慢的问题,可以登录阿里云或Docker中国官方镜像加速服务获取独立分配的加速地址。镜像管理
在管理镜像时,搜索镜像时应关注名称、描述、受欢迎程度、官方提供状态。官方镜像如CentOS是首选,stars数量多的也值得考虑,官方镜像仓库地址为hub.docker.com。 执行操作如拉取镜像,可以使用`docker pull`,例如官方的`docker pull centos:6.9`或私有仓库的`docker pull ..1.:/busybox`。查看镜像列表使用`docker images`或`docker image ls`,删除镜像则用`docker rmi`命令,例如`docker image rm alpine`。 镜像导出和导入也很重要,导出镜像使用`docker image save -o 导出路径 导出镜像名字`,导入则通过`docker image load`并指定导入路径。