热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

docker可以把应用及其相关的_Docker实践应用及构建

Docker简介:可以理解成一个“应用程序化的虚拟机”。我们如果把虚拟机比喻成公寓的一个个房间(公寓每个房间都有浴室(IO)),docker就相当于太空

Docker简介:

可以理解成一个“应用程序化的虚拟机”。我们如果把虚拟机比喻成公寓的一个个房间(公寓每个房间都有浴室(IO)),docker就相当于太空舱,所有人共享大厅,浴室(系统IO)等资源,但是每个人又有自己的房间(各自的项目环境),互不影响。Docker可以节省大量的磁盘空间以及其他系统资源,运行起来也快得多。

应用:

实现操作:比如说我的JAVA程序需要配置JAVA JDK,Tomcat等环境,我可以把我的环境打包成一个简单的镜像。镜像是从docker官网仓库上Push下来的一个Liunx系统,我可以将镜像打开(转化为容器),然后在这上面用命令行,或者用构建文档在上面添加我的JDK等,最后又可以将容器转化成镜像,保存在dockerhub仓库里(功能类似GitHub仓库)。总结起来就是,我做成了一个(迷你linux+ 项目环境+ 项目的Docker镜像)保存在DockerHub。

操作用途:Github可以和其他工具搭配做成持续集成,docker可以用于持续交付。例如一个测试,用户等需要使用我的软件或者服务器,他可以下载一个Docker,把我的镜像Push下来,我的运行环境已经部署好了,他直接用docker打开就可以运行我部署在上面的软件了。不需要在主机上配置其他的环境。

交付功能:

当我的软件或者项目或者环境有改动,用户或者测试师只要基于以前的镜像push最新的功能模块就可以运行新版软件了。因此,docker可以理解是用作持续交付高延展,可伸缩性强的项目工具。

● Docker可以通过端口映射,并与主机共享IP

● Docke是无状态化的,一般数据库不建议放在容器里,防止容器中断,迭代,等情况丢失数据

目前使用原因:

● 不同环境沙盒化:比如我的系统同时需要JAVA7 与JAAV8;

● 快速开发交付,环境配置

● 服务器迁移

构建:

对于新手而言,个人建议自己先pull一个原始的ubuntu镜像自己构建,当然用Dockfile也是可以的,不过自己从0开始构建当然会更熟悉一点。

步骤:

● 先pull一ubuntu系统:docker pull ubuntu

系统会自动选择最新镜像版本

● 安装JAVA 1.8:安装ppa:

● 输入命令:sudo add-apt-repository ppa:webupd8team/java

● 输入命令:sudo apt-get update

安装jdk

● 输入命令:sudo apt-get install oracle-java8-installer

验证安装是否成功:

● java -version

JAVA 环境变量:

编辑/etc/profile文件,在文件末尾添加如下3行:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle(注意:java-8-oracle以文件目录名为准)

export JRE_HOME=/usr/lib/jvm/java-8-oracle/jre

export PATH=

PATH

保存,执行:

source /etc/profile 让文件生效

打包:

docker commit 容器ID 打包后镜像名:版本号

docker commit -a "runoob.com" -m "my apache" 容器名称或id 打包的镜像名称:标签

OPTIONS说明:

-a :提交的镜像作者;

-c :使用Dockerfile指令来创建镜像;

-m :提交时的说明文字;

-p :在commit时,将容器暂停。

使用docker tag 命令为本地镜像添加新的标签

改变镜像标签: docker tag image1:latest(本地镜像)rhl/image1:latest(新添加的镜像)

最好的方法是docker commit --help 将会打印出命令行参数和解释,博客的内容各种都有

启动和部署:

● 查看自己所有的镜像 :docker images 将会出现自己的镜像名和ID

● 启动: docker run -it -v /usr/data:/data -p 80:80 restart=always [镜像ID] bash

参数介绍:

● -v 服务器存放mongdb的文件目录:docker容器中存放 的目录,做出相应的映射,将data数据存储在服务器中

● -P 服务器端口的映射



推荐阅读
author-avatar
5欣欣向荣_135
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有