美文网首页
docker实现应用虚拟化部署,自由搬迁

docker实现应用虚拟化部署,自由搬迁

作者: fly福来 | 来源:发表于2019-06-18 21:51 被阅读0次

需求描述:最近我在美国的虚拟机因为贸易战ip无法访问,同时因为我的python应用是两年前写的python2.6,明年停止更新了,必须把升级到Python3.x。大家都知道系统配置、python各个包环境配置等是极其麻烦的,为了避免以后应用搬家带来的环境部署痛苦,我希望把我的应用最好“一键部署”,自由迁移。

解决方案:经过比较,我决定采用docker虚拟化的方式来解决。思路是这样的,把操作系统作为一个image,然后把需要用到的python3各种包安装好,最后把整个容器打包部署到购买的虚拟机中。以后迁移,只需要拷贝镜像既可。

Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的部署任务,在Docker容器的处理下,只需要数秒就能完成。

Docker和vmware的虚拟化方式不一样,vmware是系统级别的虚拟化,docker是应用级别的虚拟化,额外消耗的资源很少。更多好处大家可以自行上网查询。

步骤:

1、在vmware的linux虚拟机中安装docker,docker介绍可以参考这个文章https://baike.baidu.com/item/Docker/13344470?fr=aladdin

2、下载centos7镜像,目前镜像非常多,mysql,hadoop,mongodb等等,我现在如果临时学习用一些开发软件都懒得安装了(安装起来需要很多配套东西、麻烦),直接下载一个拿来即用。image资源可以到这里查https://hub.docker.com/search/?type=image

3、进入容器,把python2升级到python3,以及安装各种包,实在是太麻烦了,足足安装了一个周末。同时因为是容器需要解决访问主机ip、cron等问题。

4、我只是把容器当单纯运行环境,为了方便程序维护和日志查看,我把程序和日志放在宿主机上,做目录映射即可。

5、所有程序修改为python3版本

6、容器cron自动运行一个晚上,一切正常,可以打包部署上线了。

借鉴意义:

1、试想一下,我们一个很复杂的产品,如何能够在众多客户中快速部署呢?docker能够实现从开发、测试、生产等多个环境之间的快速流转,而且还能够保持环境一致,减轻环境迁移的成本,这对我们产品化输出有很大的借鉴意义。

2、docker能够实现不同级别的虚拟化,大到一个操作系统小到某个应用,可以下载一个公共的,也可以再编辑或自己编写,非常灵活,而且额外占用资源少。

3、docker对于需要快速部署大量重复应用很有帮助,例如需要部署100套mysql,最快速的方法就是采用docker

4、故障安全隔离,docker相互之间不影响。

相关文章

  • docker实现应用虚拟化部署,自由搬迁

    需求描述:最近我在美国的虚拟机因为贸易战ip无法访问,同时因为我的python应用是两年前写的python2.6,...

  • NodeJS+Docker

    基于NodeJS实现Docker可视化 私活利器,docker快速部署node.js应用

  • kubernetes学习笔记

    docker实现了更便捷的单机容器虚拟化的管理, docker的位置处于操作系统层与应用层之间; 相对传统虚拟化(...

  • 利用Docker设置Node.js

    docker是一个开源的应用容器引擎,可以为我们提供安全、可移植、可重复的自动化部署的方式。docker采用虚拟化...

  • Docker 概述

    Docker 是一个应用程序开发、部署、运行的平台,使用 go 语言开发。相较于传统的主机虚拟化,Docker 提...

  • Docker的介绍

    Docker学习笔记 什么是容器 依托于linux内核的虚拟化技术 什么是Docker 能够把应用程序自动部署到容...

  • docker 零碎

    docker 虚拟化技术 docker 是一种虚拟化技术,基于 lxc 技术实现。 docker 容器操作 doc...

  • springboot常用starter⑪-docker

    docker Docker 是一个开源的应用容器引擎(容器性能开销极低),基于 Go 语言 开源 实现虚拟化,让开...

  • Docker要点概览

    一、Docker背景 Docker 从传统虚拟化方式进化而来,Docker是在操作系统层面上实现虚拟化,直接复用本...

  • Docker-入门

    Docker是基于Linux容器的虚拟化技术,基于go语言开发,生态是非常不错的,通过对应用组件的封装、分发、部署...

网友评论

      本文标题:docker实现应用虚拟化部署,自由搬迁

      本文链接:https://www.haomeiwen.com/subject/zqoqqctx.html