SpringBoot 与 Docker

一 Docker

一个虚拟化容器引擎,解决的事件是:开发者打包他们的应用和依赖到一个轻量级的,可移植的容器中,然后发布到任何一个 Linux机器上。容器采用沙盒机制,相互之间不会有任何接口,容器的开销极低。

Docker 的几个概念

  • 仓库 Registry:保存镜像 http://hub.docker.com
  • 镜像 Images:模板
  • 容器 Container: 启动镜像就是一个容器,启动是秒级的

Docker安装

CentOS7 上使用 yum install docker 即可

Docker 使用

docker -v 查看版本

centos7上面启动
systemctl start docker 启动
docker images 查看镜像
docker search XXXX 搜索镜像 ,也可以到网上搜索
docker pull mysql:5.5 下载镜像,不带后面版本号就是最新的
docker rmi 镜像id 删除镜像

docker 运行 mysql
docker run --name mysql01 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.5 --character-set-server=utf8mb4 --collection-server=utf8mb4_unicode-cli
--name 指定名称,随便
-p 映射端口
-e MYSQL_ROOT_PASSWORD 指定 root 密码
-d 后台运行
mysql:5.5 运行的镜像名称
后面是指定字符集

docker ps查看运行的情况
docker ps -a所有
docker ps -l最近

停止一个容器
docker stop 实例名称/实例 ID

SpringBoot

Spring-boot-starter-XXX 场景启动器
SpringBoot 通过一个主程序启动整个应用

SpringApplication的 run 方法中传入带有@SpringBootApplication 标记的类,这样该类将作为启动类

SpringBoot autoconfig 包

自动配置的是 XXXAutoConfiguration
默认规则属性 XXXProperties

自动配置也可以通过配置文件修改

docker +maven

github 搜索 docker-maven-plugin
https://github.com/spotify/docker-maven-plugin

<plugin>
  <groupId>com.spotify</groupId>
  <artifactId>docker-maven-plugin</artifactId>
  <version>VERSION GOES HERE</version>
  <configuration>
    <imageName>example</imageName><!-- 镜像名称 -->
    <baseImage>java</baseImage><!-- 基于 java 镜像 -->
    <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint><!-- 运行命令  -->
    <!-- copy the service's jar file from target into the root directory of the image --> 
    <resources>
       <resource>
         <targetPath>/</targetPath>
         <directory>${project.build.directory}</directory>
         <include>${project.build.finalName}.jar</include>
       </resource>
    </resources>
  </configuration>
</plugin>

链接远程 docker
首先指定远程 docker 位置

<properties>
  <dockerHost>http://ip:2375</dockerHost>
</properties>
image

需要开启2375端口

image

image
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Docker是一个开源的应用容器引擎;是一个轻量级容器技术; Docker支持将软件编译成一个镜像;然后在镜像中各...
    最后的夏t阅读 551评论 0 0
  • 一、Docker简介 1、Docker是什么? 是一个开源的容器引擎,基于go语言开发 2、特点 轻量级,可移植的...
    chuckielove阅读 1,632评论 0 2
  • Docker是一种容器技术,它的存在就是为了解决容器技术本身的复杂性。Docker容器拥有很高的性能,同时同一台宿...
    四条眉毛陆小鸡阅读 588评论 0 0
  • 1 预备安装软件虚拟机 VMware Fusion ,或者其他虚拟机。保证本地有一个linux的centos7 的...
    Kate_Blog阅读 396评论 0 1
  • 1.Docker简介 1.1 什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理...
    EdwinGates阅读 1,778评论 0 0