什么是docker以及一些有趣的docker项目

  • Post author:
  • Post category:其他



目录


docker的介绍


什么是docker


那为什么我们要用docker而不用虚拟机呢?


启动优势


docker资源消耗会更少


docker具有一键部署的简便性


docker的卸载简便性


docker的可移植性


docker相比于虚拟机的局限性


docker的隔离性不如虚拟机


docker的安全性不如虚拟机


部分docker项目的介绍


alist


介绍


部署命令


nextcloud


介绍


部署命令


青龙面板


介绍


部署命令


网心云


介绍


部署命令


kodbox(可道云)


介绍


部署命令


宝塔


介绍


部署命令


总结


docker的介绍

什么是docker

Docker是基于linux内核的一个自由开发,打包,运行程序的平台,Dcoker可以让我们将程序从环境中分离出来从而实现快速迁移我们的项目。通过Docker,管理我们的应用就像管理我们的环境一样简单(我觉得在实际开发中哪个都不简单,对于刚毕业的我来说),通过利用docker技术可以快速打包,测试,部署我们的代码,你可以显著的减少在编写代码以及将它运行在生产环境中的时间损耗。


他是真正让我意识到linux方便之处的开始


简单狭义的来说docker就是一个轻量的虚拟机

那为什么我们要用docker而不用虚拟机呢?

启动优势

docker的启动速度方面要比虚拟机快的多得多

docker资源消耗会更少

docker在操作系统级别进⾏虚拟化,他与硬件内核的交互利用率

几乎是100%

而Hypervisor层与内核层的虚拟化有时

只能达到50%

docker具有一键部署的简便性

大多数的docker项目只需要一段命令就可以完美安装好他人提供的镜像

无需再次安装其他依赖

docker的卸载简便性

相比于把一堆垃圾软件安装到系统上然后难以删除(尤其是linux系统)


docker就是一种十分简单的安装与卸载的形式

docker的可移植性

你不仅可以下载别人的镜像与此同时,你也可以发布你自己做好的镜像以供他人使用。

他人也可以用几段代码拉取你制作的镜像

docker相比于虚拟机的局限性

docker的隔离性不如虚拟机

与系统隔离的虚拟机相比,docker只是进程间的隔离。

docker的安全性不如虚拟机

由于docker的隔离性不行,所以当他测试一些恶意软件时他的安全性不如虚拟机

部分docker项目的介绍

alist

介绍

这一个项目

可以挂载市面上几乎任何的网盘

(百度云盘,阿里云盘,123云盘…)

并且可以通过webdav来挂载阿里云视频到本地文件夹,之后通过emby来实现播放搭建自己的私人影院

或者你也可以配合aria2来实现获取网盘文件的快速下载链接,比如阿里云盘在我电脑上用客户端下载时10m/s而用aria2可以实现30m/s 的下载速度

部署命令

docker run -d --restart=always -v 你缓存的文件夹位置:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:latest

运行下面命令获得密码

docker exec -it alist ./alist admin

网站在

服务器ip:5244

nextcloud

介绍

它是一个私人云盘服务,并且可以提供下载上传以及挂载等多方面的功能(PS:私人云盘如果在内网搭建的话,网口配置只要不要太烂,内网之间的传输速率是非常非常快的,我这边是60m/s,并且不占用局域网内其他电脑的宽带)

部署命令

docker run -d --restart=always --name nextcloud -p 80:80 -v /root/nextcloud:/data rootlogin/nextcloud

网站在

服务器ip:80

这里要说明其中的80:80中前面的80可以变(后面的绝对不行)变成81的话

网站就在

服务器ip:81

青龙面板

介绍

这也是我接触docker的第一款项目,它可以定时的执行一些pyhton或者是nodejs的一些小任务

比如最有名的就是京东自动定时薅羊毛(京豆,红包)

以及自动签到之类的脚本

部署命令

 docker run -dit \
   -v $PWD/ql/config:/ql/config \
   -v $PWD/ql/log:/ql/log \
   -v $PWD/ql/db:/ql/db \
   -v $PWD/ql/repo:/ql/repo \
   -v $PWD/ql/raw:/ql/raw \
   -v $PWD/ql/scripts:/ql/scripts \
   -v $PWD/ql/jbot:/ql/jbot \
   -p 5700:5700 \
   --name qinglong \
   --hostname qinglong \
   --restart unless-stopped \
   whyour/qinglong:latest

网心云

介绍

如果你家里有闲置宽带又经常晚上因为加班用不着或者用的宽带大多数时候很少那不妨试试看用闲置宽带赚一些零花钱(过了一个星期后平均100m上行一天5块钱可以把宽带钱挣回来,但是晚上高峰期时如果打部分游戏的话会变得比较卡)

部署命令

docker pull registry.hub.docker.com/onething1/wxedge
docker run -d --name=wxedge --restart=always --privileged --net=host --tmpfs /run --tmpfs /tmp -v 磁盘路径:/storage:rw registry.hub.docker.com/onething1/wxedge

kodbox(可道云)

介绍

这也是一款私人云盘,但是相比nextcloud他的内置的pdf阅读器非常的优秀,并且它拥有的桌面系统也十分方便操作,缺点就是没有nextcloud的强大的离线下载功能,虽然经过优化后也可以到达相应的水平

部署命令

docker run -d --name kodbox --restart=always -v 你云盘存放文件的目录:/var/www/html -p 80:80 aeert/kodbox:latest

还是老样子80:80这行命令看着改就行(端口别被占用了)

宝塔

介绍

宝塔(Baota)是一款免费的服务器管理面板,它提供了简单易用的图形界面,可以帮助用户快速地安装、配置和管理服务器上的各种应用程序,例如Web服务器、数据库、FTP等等。宝塔支持多种操作系统和软件环境,包括Linux、Windows、Nginx、Apache、MySQL、PHP等等。它的功能十分强大,包括网站管理、FTP管理、数据库管理、文件管理、日志管理、安全管理等等,而且宝塔的界面设计也非常美观和易用。

他可以非常简单的搭建一些网站以及一键部署一些网站


有趣的是你也可以在宝塔中再次安装docker来套娃

部署命令

docker pull ubuntu
docker run -i -t -d --name bt -p 2000:20 -p 2100:21 -p 8000:80 -p 4430:443 -p 8880:888 -p 8888:8888 --privileged=true -v 宝塔中网站的挂载的本地目录:/www/wwwroot ubuntu
docker exec -it bt /bin/bash
apt-get update
apt-get -y install sudo
apt-get -y install wget
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec

最后输入bt 14查看网站管理的网址(不同电脑不一样的端口)

总结

docker作为一个工具它拥有极其简单的部署操作以及移植操作,并且对于一些刚开始入门linux的人来说可以激发学习兴趣,并且在不断的尝试与好奇之中学习。



版权声明:本文为mumuemhaha原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。