一 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>
需要开启2375端口