一、SpringBoot+Docker项目打包(jar)和部署
一、打包SpringBoot项目
1.检查pom文件是否有maven打包插件
2.选择IDEA右侧Maven,点击install(如果配置了maven的环境变量,则可以在控制台输入:mvn install 命令,同样可以打包jar包)
等待maven打包,当控制台出现下列日志时表示打包成功
如下图所示,打包完会出现一个.jar文件,即打包好的jar包。
3.在控制台输入:java -jar /Users/heyou/Desktop/springboot-0.0.1-SNAPSHOT.jar 来检查jar包是否可以正常运行。
二、Docker部署jar包
前提条件:
1.构建Dockerfile
在已经打包好的jar包的同级目录下新建Dockerfile
Mac 可在IDEA控制台输入vim Dockerfile 进入vim编辑,输入:
其中:
FROM 命令指定运行环境和版本
VOLUME:一个特别指定的目录,用于存储数据,该命令的作用是在/var/lib/docker创建一个名为tmp的目录,在开启redis服务时,需要特别指定redis的数据存储在哪个文件夹,此时这个命令就十分有用
ADD:拷贝文件并且重命名(需要输入两个参数:即jar包名称和重命名后的名称)
ENTRYPOINT:容器启动时运行的命令,相当于我们在命令行中输入java -jar xxxx.jar,为了缩短 Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为 ENTRYPOINT
2.创建docker文件夹,将jar包与Dockerfile移动到该文件夹,进入该文件夹,运行命令:
此时会将该项目构建成一个image(镜像),运行命令:
3.运行镜像:
注:“:”左边的端口号是暴露给外部访问的端口,而右边端口是docker内部镜像运行的端口
4.打开浏览器访问部署的项目地址,检查项目是否运行正常
二、怎么把docker做成镜像文件
方法/步骤
在使用Docker的过程中,我们除了从Docker Hub上下载已经做好的镜像,很多时候需要我们自己制作镜像。下面想在这个文章中说明一下镜像的制作方法。
制作镜像的方式主要有两种:
通过docker commit 制作镜像
通过docker build 制作镜像
这两种方式都是通过改进已有的镜像来达到自己的目的。制作基础镜像,会在另外一篇文章“从零开始制作基础镜像”中介绍。
docker commit
docker commit 是往版本控制系统里提交一次变更。使用这种方式制作镜像,本质上是运行一个基础镜像,然后在基础镜像上进行软件安装和修改。最后再将改动提交到版本系统中。
三、如何使用Dockerfile构建镜像
docker越来越炙手可热,如果你的团队已经准备开始使用docker,那么私有仓库是必不可少的东西,首先是可以帮助你加快从服务器pull镜像的速度,其次也可以帮助你存放私有的镜像,本文主要为大家介绍如何从公用服务器上讲开放的images备份到本地私有服务器上。dockerimages往往不知不觉就占满了硬盘空间,为了清理冗余的image,可采用以下方法:1.进入root权限sudosu2.停止所有的container,这样才能够删除其中的images:dockerstop$(dockerps-a-q)如果想要删除所有container的话再加一个指令:dockerrm$(dockerps-a-q)3.查看当前有些什么imagesdockerimages4.删除images,通过image的id来指定删除谁dockerrmi想要删除untaggedimages,也就是那些id为的image的话可以用dockerrmi$(dockerimagesgrep^awk{print$3})要删除全部image的话dockerrmi$(dockerimages-q)本篇文章来源于Linux公社网站()原文链接:/Linux/2014-09/106322.htm
四、如何上传文件docker的镜像
传送文件到镜像的话
1 需要 docker run -ti 镜像 bash
2 docker cp 文件到容器
3 docker tag 改名
4 docker push
五、如何将镜像推送到Docker Hub
Windows 10系统要取消开机密码,需打开“设置”选项,然后找到“账户”设置,然后就可以取消开机密码。具体步骤如下: 1、点击Win10的“开始”按钮,继续点击“设置”选项; 2、点击“账户”选项; 3、点击左侧的“登录选项”
六、如何将docker安装到移动硬盘
Docker提供了一个可以运行应用程序的封套(envelope),或者说容器。
它原本是dloud启动的一个业余项目,并在前些时候开源了。
它吸引了大量的关注和讨论,导致dloud把它重命名到DockerInc。
它最初是用Go语言编写的,它就相当于是加在LXC(LinuXContainers,linux容器)上的管道,允许开发者在更高层次的概念上工作。
Docker扩展了Linux容器(LinuxContainers),或着说LXC,通过一个高层次的API为进程单独提供了一个轻量级的虚拟环境。
Docker利用了LXC,cgroups和Linux自己的内核。
和传统的虚拟机不同的是,一个Docker容器并不包含一个单独的操作系统,而是基于已有的基础设施中操作系统提供的功能来运行的。
这里有一个Stackoverflow的答案,里面非常详细清晰地描述了所有Docker不同于纯粹的LXC的功能特性
Docker会像一个可移植的容器引擎那样工作。
它把应用程序及所有程序的依赖环境打包到一个虚拟容器中,这个虚拟容器可以运行在任何一种Linux服务器上。
这大大地提高了程序运行的灵活性和可移植性,无论需不需要许可、是在公共云还是私密云、是不是裸机环境等等。
Docker由下面这些组成:
1.Docker服务器守护程序(serverdaemon),用于管理所有的容器。
2.Docker命令行客户端,用于控制服务器守护程序。
3.Docker镜像:查找和浏览docker容器镜像。
|