本文旨在一文帮助读者入门Docker,文章分为Docker简介、常用功能代码以及Docker实战三部分。通过阅读&实践本文,相信可以帮助你入门Docker,提升生产力。
由于本文主要用于入门,更加复杂和深入的功能难免遗漏,读者可以根据需求再自行研究,同时也欢迎留言交流。
前言
作为数据挖掘的基础,环境搭建至关重要,但是传统的环境搭建会花费大量的时间,甚至还需要掌握诸如Linux等其他技能,十分花费时间。同时,我们训练好的模型往往因为服务器环境不同导致无法正确的进行预测。Docker的出现能够很好的解决上述两个问题,同时还可以对你日常工作其他的方面有更多的帮助。所以作为数据挖掘系列教程的第一篇,就是介绍Docker的入门。
1. Docker简介
1.1. Docker是个啥?Docker能做啥?
Docker其实就是个贼迷你的虚拟机,内核是精简的不能再精简的linux,这样保证他安装和运行需要的资源贼低。同时,由于是linux内核,基本上常用的开源软件都可以十分友好的进行支持。
对于我们日常使用的场景来说,各位在学习或者应用各种工具时,在安装环节难免一番手忙脚乱,各种不同工具需要不同依赖,安来安去导致系统和各种工具游走在崩溃的边缘。如果需要重新安装系统或者把写好的代码提交服务器或者别人的环境运行时,那更是世界末日般的痛苦。
而Docker的出现,对于上述的问题来说,则是迎刃而解。
Docker基于贼精简的Linux内核,可以自行安装配置各种环境和服务(python、java、php等等等等),并打包成“镜像”文件,后续将“镜像”部署到其他任何的电脑和服务器的Docker中运行。
由于大家都是用同一个Docker“镜像”,所以系统内核和各种环境全部一致。这样的话,不管我是mac,你是windows,他是Linux,只要我们都有docker,就再也不会有依赖和环境问题。
由于Docker的“镜像”是运行在一个又一个“容器”中,可以做到与当前系统环境隔离,我们还可以保证现有系统的“纯净”。
除了上述两个特点,各种语言、工具如python、mysql等,还支持直接Docker安装,区别于传统安装流程的配置各种源、安装各种依赖再安装目标工具,Docker仅需从远程“仓库”拉取“镜像”到本地,再将本地“镜像”在“容器”中运行,仅仅两行代码就可以完美的运行目标工具。
1.2. 基本概念&原理
Docker由三个元素组成,即:镜像(Image)、仓库(Repository)和容器(Container)。镜像就是我们封装好环境、服务的整体系统包;仓库分为远程仓库和本地仓库,用于存放我们的镜像了;容器则是运行镜像的地方。
对于镜像、仓库和容器,我们常用的操作如图:
1.3. 常用工作流
对于docker的使用,常见的工作流如下:
自行准备环境&服务,打包成镜像文件后部署到服务器或拷贝给别人使用 工作流:拉取ubuntu/centos纯净系统镜像文件——>配置自己的环境&服务——>打包成镜像文件压缩包——>拷贝到其他环境运行
通过docker安装/使用软件 工作流:拉取mysql/python/nginx等软件镜像文件——>设置本地文件夹映射&端口映射,运行镜像文件——>备份容器外文件
1.4. docker安装
本文旨在关注docker的原理及使用,争取一文帮助读者上手d